How conditional branching can slow modern processors down badly, comparing assembly code with that generated by Apple’s Swift compiler, and some puzzles.
ARM
How to implement conditional looping such as for and while, and how to break out of a loop. Complete with chart of four conditional idioms.
Forget about structured code, branching in assembly is based on GOTO with labels. Here’s how to get started, with an idiom for the switch statement in Swift.
Using different addressing modes and offset specifications to load and store in memory. Includes a summary of ARM64 Operand Architecture.
Types of register explained, and which are available to pass arguments of different types. Call by value and call by reference distinguished.
First in a series helping you write ARM64 assembly language for M1 Macs. Provides an app within which you can call assembly routines.
M1 Macs may be as fast as greased lightning, but how good is their numerical accuracy? Can it match that of Intel processors?
What tells me that macOS isn’t about to be swallowed up into iOS? Look at what’s happened with Time Machine in Big Sur, which has undergone as much development as it did prior to release in 2007.
Look forward to Universal Apps, which will show how well Apple Silicon Macs perform. There’s a lot of history buried in them too.
WWDC provided more pieces for the jigsaw of the Mac’s future, but there’s one significant piece still missing.
