← Back to context

Comment by og_kalu

5 days ago

x86 doesn't have magical backwards compatibility powers.

The amazing backwards compatibility of Windows is purely due to the sheer continuous effort of Microsoft.

> x86 doesn't have magical backwards compatibility powers.

I never said it did; other ISAs have similar if not longer periods of backwards compatability (IBM's Z systems architecture is backwards compatible with the System/360 released in 1964).

> The amazing backwards compatibility of Windows is purely due to the sheer continuous effort of Microsoft.

I never mentioned Windows but it's ridiculous to imply its backwards compatability is all on Microsoft. Show me a single example of a backwards breaking change in x86 that Windows has to compensate for to maintain backwards compatability.

  • >I never mentioned Windows but it's ridiculous to imply its backwards compatability is all on Microsoft.

    I never said that. Windows was just an easy example.

    >Show me a single example of a backwards breaking change in x86 that Windows has to compensate for to maintain backwards compatability.

    - The shift from 16-bit to 32-bit protected mode with the Intel 80386 processor that fundamentally altered how the processor managed memory.

    - Intel 80286 introduced a 24-bit address bus to support more memory, but this broke the address wraparound behavior of the 8086.

    - The shift to x86-64 that Microsoft had to compensate with emulation and WOW64

    Any many more. That you think otherwise just shows all the effort that has been done.

    • > The shift from 16-bit to 32-bit protected mode with the Intel 80386 processor that fundamentally altered how the processor managed memory.

      I said x86 has "over 30 years of backwards compatibility". The 80386 was released in 1985, 40 years ago :)

      > Intel 80286 introduced a 24-bit address bus to support more memory, but this broke the address wraparound behavior of the 8086.

      This is the only breaking change in x86 that I'm aware of and it's a rather light one as it only affected programs relying on an exactly 2^16 memory space. And, again, that was over 40 years ago!

      > The shift to x86-64 that Microsoft had to compensate with emulation and WOW64

      No, I don't think so. A x86-64 CPU starts in 32 bit mode and then has to enter 64 bit mode (I'd know, I spent many weekends getting that transition right for my toy OS). This 32 bit mode is absolutely backwards compatible AFAIK.

      WOW64 is merely a part of Microsoft's OS design to allow 32 bit programs to do syscalls to a 64 bit kernel, as I understand it.