<story><title>HelloSilicon – An introduction to assembly on Apple Silicon Macs</title><url>https://github.com/below/HelloSilicon</url></story><parent_chain><item><author>TheBrokenRail</author><text>So what&amp;#x27;s the difference between ARM and Apple Silicon?&lt;p&gt;It&amp;#x27;s a little odd seeing it treated as its own unique architecture (for instance with people specifically porting software or writing guides about Apple Silicon rather than ARM in general) when it&amp;#x27;s just ARM64. Which already has a lot of stuff already ported to it and is quite extensively documented.&lt;p&gt;Am I missing something? Did Apple do something crazy non-standard when making their chips which make them behave differently?</text></item></parent_chain><comment><author>andsoitis</author><text>Apple diverges from standard 64-bit ARM architecture in specific ways: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;developer.apple.com&amp;#x2F;documentation&amp;#x2F;xcode&amp;#x2F;writing-arm64-code-for-apple-platforms&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;developer.apple.com&amp;#x2F;documentation&amp;#x2F;xcode&amp;#x2F;writing-arm6...&lt;/a&gt;</text></comment>
<story><title>HelloSilicon – An introduction to assembly on Apple Silicon Macs</title><url>https://github.com/below/HelloSilicon</url></story><parent_chain><item><author>TheBrokenRail</author><text>So what&amp;#x27;s the difference between ARM and Apple Silicon?&lt;p&gt;It&amp;#x27;s a little odd seeing it treated as its own unique architecture (for instance with people specifically porting software or writing guides about Apple Silicon rather than ARM in general) when it&amp;#x27;s just ARM64. Which already has a lot of stuff already ported to it and is quite extensively documented.&lt;p&gt;Am I missing something? Did Apple do something crazy non-standard when making their chips which make them behave differently?</text></item></parent_chain><comment><author>fragmede</author><text>The book assumes running Darwin&amp;#x2F;OS X, which has consequences specific to that, eg &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;below&amp;#x2F;HelloSilicon#listing-9-1&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;below&amp;#x2F;HelloSilicon#listing-9-1&lt;/a&gt; but one of the biggest changes is the GPU attached to the arm core, resulting in non-native Apple-specific code. It may not affect the ARM CPU core directly, but if someone is running on Apple Silicon you can assume MPS support whereas you cannot do that for ARM64 targets.&lt;p&gt;It might also be worth reiterating that this book is, itself, a port from the original, more generic ARM version.</text></comment>