This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| en:multiasm:paarm [2024/05/14 19:46] – created pczekalski | en:multiasm:paarm [2025/12/02 20:06] (current) – eriks.klavins | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Programming in Assembler for Mobiles and ARM ====== | ====== Programming in Assembler for Mobiles and ARM ====== | ||
| + | |||
| + | Let's take a look at the mobile devices market. Mobile phones, tablets, and other devices are built on ARM processor architecture. For example, take Snapdragon SoC (System-on-Chip) designed by Qualcomm – this chip integrates a CPU based on the ARM architecture. Of course, that chip may have an additional graphics processing unit(GPU) and even a digital signal processor(DSP) for faster signal processing. Similarly, Apple A18 processors are based on ARM architecture. The only difference between all these mobile devices is the ARM version on which the processor is designed. | ||
| + | |||
| + | ARM stands for Advanced RISC Machine. | ||
| + | |||
| + | ARM has multiple processor architecture series: Cortex-M, Cortex-R, Cortex-A, and Cortex-X, as well as other series, not only generalised Central Processing Units - CPU. | ||
| + | Cortex-X series processors are made for performance on smartphones and laptops. It supports up to 14 cores, but that number may change over time. Similarly, the Cortex-A series is designed for devices that execute complex computational tasks. These processors are designed to deliver power-efficient performance, | ||
| + | The ARM processor “world” is huge – only through individual investigation can it be explored and its potential realised. In this book, we will present key ideas for what needs to be investigated in more depth to unlock the exact processor' | ||
| + | |||
| + | Mobile devices tend to use Cortex-A series processors. As the instruction set is very similar to that of the Cortex series (of course, with minor differences), | ||
| + | Note that ARM typically uses registers to manipulate data. There are no operations that directly manipulate data in memory. All the data must be loaded into the processor' | ||
| + | |||