we should debate what 'platform' means in 'crossplatform'
We can ofc. but fwiw I was not referring to JITT translation (layer).
Does it rely on CPU models or on OSes types or both ? the term 'crossplatform' becomes more and more deep in fog.
Yes, it is indeed.
my 1st impression was that 'crossplatform' rely on OSes but now I think this expression is much more complex and AMBIGUOUS
It is the CPU that determines if code is compatible. But you are correct in that JITT translation layers make it more difficult to distinguish between these kind of things.
For the (Free Pascal) compiler things are more simpler: it creates code for a certain CPU and OS combination (or embedded).
If you introduce assembler in your code you have to make sure it matches the CPU it is compiled for. The code as shown does not compile for arm, m68k, ppc CPU's to name a few. Note that M$ is pretty much full in on the arm things (for which they will fail, again, is my prediction)