ARM64EC (and ARM64X) explained


Probably the most confused looks I get from other developers when I discuss Windows and ARM64 is when I used the term “ARM64EC”.  They ask is the same thing as ARM64?  Is it a different instruction set than ARM64?  How can you tell if an application is or ARM64 ARM64EC?

This tutorial will answer those questions by de-mystifying and explaining the difference between what can be called “classic ARM64” as it existed since Windows 10, and this new “ARM64EC” which was introduced in Windows 11 in 2021.

↫ Darek Mihocka

I’m not going to steal the article’s thunder, but the short of it is that the ‘EC’ stands for ‘Emulation Compatible’, meaning it can call unmodified x86-64 code. ARM64X, meanwhile, is an extended version of Windows PE that allows both ARM64 and emulated x86-64 code to coexist in the same binary (which is not the same as a fat binary, which is an either/or situation). There is a whole lot more to this subject – and I truly mean a lot, this a monster of an in-depth article – so be sure to head on over and read it in full. You’ll be busy for a while.

One Response

  1. 2024-03-28 1:17 pm