Hacker News new | ask | show | jobs
by foldr 14 days ago
The article is perfectly clear:

> The good news is that it is very easy to write assembly which targets Apple’s computers as well as the other 64-bit ARM devices running operating systems other than Darwin.

1 comments

As long as nothing outside the CPU itself gets used.
Obviously. Who could possibly be writing ARM assembly code who is not also aware that system calls, etc. will vary across platforms?

Sometimes you do seem to make negative comments just for the sake of it.

So it isn't portable after all...
If you can understand what someone means when they talk about a “small elephant”, then you can understand what they mean when they talk about “portable assembly”. In this case, the relevant point is that you can write ARM64 assembly routines that do useful work (e.g optimized matrix multiplication, or something like that) in such a way that they’ll work correctly on a number of different ARM64 platforms.
There are portable (or not) software applications, portable algorithms code, non-portable algorithm code.

Assembly based software for the Motorola 68000 /and/ the Amiga will not run on a 68000 Mac. A "polynomial based packed fastSin()" subroutine written using the XMM x64 registers will work on most x86 CPUs. The same written for the ZMM registers will not work on a number of x86 CPUs.

Surely 40 years ago we could easily assume talking about specific implementations of software applications; clearly today we see problems as being optimizable on some classes of platforms (e.g. the vectors in ARM work differently from the vectors in x64 CPUs).