
Intel 80386, part 1: Introduction - nikbackm
https://blogs.msdn.microsoft.com/oldnewthing/20190121-00/?p=100745
======
smhenderson
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.

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.

As always a great and informative read!

------
kccqzy
See also the second and third installment:

[https://blogs.msdn.microsoft.com/oldnewthing/20190122-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20190122-00/?p=100755)

[https://blogs.msdn.microsoft.com/oldnewthing/20190123-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20190123-00/?p=100765)

------
userbinator
_The 80386 is unusual in that it supports multiple calling conventions_

It's unusual to speak of a processor as "supporting" _any_ 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 _really_ doesn't matter) about such things as
functions or procedures either, as you'll quickly realise if you read good
optimised handwritten Asm.

 _Instruction encoding is highly irregular._

It looks very regular in octal:

[http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt](http://www.dabo.de/ccc99/www.camp.ccc.de/radio/help.txt)

------
barbecue_sauce
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.

~~~
ngcc_hk
Do not see the point of the microsoft one but these video are great!

------
pjmlp
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.

However I still kept a bit of envy from my friends having fun with their Amiga
500s.

~~~
AnIdiotOnTheNet
I'm still envious of my friends with Amiga 500s. The Amiga just kind of does
that to people.

------
martin1975
Personally I was looking forward to an intro to TSR programs :)

------
aswanson
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.

~~~
burfog
They got Turing completeness in just the MMU. This was surely unintended, just
like Turing completeness in C++ template expansion and Turing completeness in
sendmail configuration files.

Here you go, computation via continuous MMU faults without actually completing
any instructions:

[https://github.com/jbangert/trapcc](https://github.com/jbangert/trapcc)

[https://www.youtube.com/watch?v=eSRcvrVs5ug](https://www.youtube.com/watch?v=eSRcvrVs5ug)

~~~
wolfgke
> They got Turing completeness in just the MMU.

Since the amount of adressable memory on any CPU is finite, while a Turing
machine needs in infinite band of memory, such claims of Turing-completeness
of processors or in this case the MMU are clearly fraudulent.

Only an abstract mathematical model can be Turing-complete - there exists no
physical realization of a Turing-complete system/Turing machine and there will
never be.

~~~
Sharlin
This is completely pointless pedantry. Everybody knows that, and nobody
bothers to type "Turing-complete (up to memory constraints)" all the time.
Real mathematicians do this _all the time_ , taking shortcuts with the
understanding that they _could_ phrase it completely rigorously if it were
necessary.

