Raymond Chen is such a joy to read. I’m old and jaded enough to have very mixed feelings about Microsoft but it’s obvious they’ve had some very talented programmers over the years.<p>If I didn’t get enough pleasure from using Microsoft software over the years as I did from other OS’s I certainly made up for it reading stories from MS folk like Raymond.<p>As always a great and informative read!
See also the second and third installment:<p><a href="https://blogs.msdn.microsoft.com/oldnewthing/20190122-00/?p=100755" rel="nofollow">https://blogs.msdn.microsoft.com/oldnewthing/20190122-00/?p=...</a><p><a href="https://blogs.msdn.microsoft.com/oldnewthing/20190123-00/?p=100765" rel="nofollow">https://blogs.msdn.microsoft.com/oldnewthing/20190123-00/?p=...</a>
<i>The 80386 is unusual in that it supports multiple calling conventions</i><p>It's unusual to speak of a processor as "supporting" <i>any</i> calling convention, given that they are simply a convention compilers may follow. The CPU doesn't care (and in the case of the 386 which has no return address prediction or special stack handling, it <i>really</i> doesn't matter) about such things as functions or procedures either, as you'll quickly realise if you read good optimised handwritten Asm.<p><i>Instruction encoding is highly irregular.</i><p>It looks very regular in octal:<p><a href="http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt" rel="nofollow">http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt</a>
For x86 information, I really enjoyed Xeno Kovah's OpenSecurityTraining courses for Intro and Intermediate x86. Recording quality is a bit spotty, but their whole YouTube channel is filled with great content.
My first owned PC, a 386SX at 20 MHz, quite a departure from the PCW 1512 at school computer club or the Timex 2068 at home.<p>However I still kept a bit of envy from my friends having fun with their Amiga 500s.
I wonder if when these processors were developed, from a hardware standpoint, did the engineering team contemplate Turing completeness and the theory of computation, or just try to satisfy a set of perceived customer needs.