Back when Intel introduced the 80286, they didn't quite document everything right away. Errata were needed. Then the 80386 changed things. And then someone convinced them to add just one more feature at the last minute, which didn't get documented properly again.
The History of a Security Hole takes a look at the problems introduced by the I/O Permission Bitmap (IOPB) in the 80286, and how fallout from the implementation caused a security hole in all versions of OpenBSD up to 6.3 and NetBSD up to 4.4.
Conclusion? This programming thing is hard.
(Score: 2) by DannyB on Thursday September 06 2018, @06:40PM (5 children)
I thought it was a bit long. It reminded me of things I hate about that architecture. (especially segment registers) Then layers of complexity built on top of it. How complex merely booting really is.
IMO: an architecture whose time has come and gone. It's primary value is that Windows runs on it, and all of the Windows legacy software. well, and that Intel has buckets of monopoly money to pour into making it run very fast.
To transfer files: right-click on file, pick Copy. Unplug mouse, plug mouse into other computer. Right-click, paste.
(Score: 4, Insightful) by bzipitidoo on Friday September 07 2018, @03:31AM
x86 architecture sucked from the very start. Too few registers that are too specialized (eg. AX has to be used for multiplication) with matching specialized instructions such as LOOP, a mishmash of styles in that the integer instructions were load, execute, and store, while the floating point ones operated on a stack, and, as you mentioned, the segmented architecture. Since the debut of x86 in the 1970s, lots of ideas from those days are obsolete: decimal arithmetic, always storing function parameters on a call stack, the string instructions, especially the search instructions SCASB/W. Then there are "features" that make virtualization much more difficult, in particular interrupts that just break through everything. Of course the 8088 and 8086 didn't even have a virtual mode, and when that was introduced in the 80286, Intel screwed it up badly. The 80386 was a lot better but still lacked an atomic instruction that could be used to support semaphores. That lack is why the Linux kernel no longer supports the 386. The 80486 finally added a test and set kind of instruction.
In recent decades, they've made strides towards addressing many of these deficiencies. They've added registers and virtualization support. They've used the floating point registers for the MMX and SSE instructions. But, x86 is still a poor design.
(Score: 3, Informative) by Pino P on Friday September 07 2018, @01:34PM (3 children)
And sometimes even people who want to port an application from Windows can't because of toolchain or library dependencies. So instead, they ship an x86 executable that has been tested on Wine.
I'm interested in your solution for dependency problems like these.
* To head off a digression: A freeware edition of Delphi [embarcadero.com] is available to persons with a gross income less than 5000 USD per year, but I doubt that many in developed countries qualify. Even the means threshold for Obamacaid in the United States is thrice that.
(Score: 0) by Anonymous Coward on Friday September 07 2018, @03:34PM
Yo interesting fact.
I downloaded the delphi trial and the next day I was called by their sales guy. I explained that I was surprised how well delphi has aged but I only needed to recompile cheat engine and am not a corporation.
He gave me a free year long license.
(Score: 2) by turgid on Friday September 07 2018, @04:56PM (1 child)
The Free Pascal [freepascal.org] people had a front end for Delphi in their compiler, and it's cross platform.
I refuse to engage in a battle of wits with an unarmed opponent [wikipedia.org].
(Score: 3, Informative) by Pino P on Saturday September 08 2018, @02:44AM
I asked the developer of the BGB emulator about Free Pascal and Lazarus, and he said it doesn't support all the GUI/VCL stuff that BGB uses.