Instrukční sada
Programy pro Cortex-M3 budete většinou psát pouze v programovacím jazyku C. Protože procesor při vstupu do obslužné rutiny přerušení ukládá registry na zásobník a po jejím dokončení je zase obnoví, lze psát obslužné rutiny jako normální funkce, přímo v jazyku C, bez použití assembleru.
Přesto může být znalost instrukcí procesoru programátorovi občas prospěšná. Především budete schopni optimalizovat některé kritické sekce kódu, můžete použít speciální instrukce, jako třeba MSR/MRS nebo CPS a v neposlední řadě se vyznáte v kódu, který generuje váš kompilátor.
Co nás čeká ...
Thumb-2
Instrukční sada Thumb-2 obsahuje jak 32-bitové tak 16-bitové instrukce. Je postavena na původní instrukční sadě Thumb a rozšiřuje ji o řadu nových instrukcí.
Přesuny dat
Procesory ARM obecně implementují Load/Store architekturu. Procesory tohoto typu musí nejdříve přesunout data z paměti do registrů, potom nad nimi provedou požadované operace a výsledek pak uloží zpět do paměti.
Datové operace
Dostali jsme data do registrů, umíme uložit obsah registrů do paměti, můžeme začít provádět operace nad daty.
Větvení programu
Program obvykle není prováděn lineárně, instrukce po instrukci, ale podle vyhodnocení podmínek jsou prováděny různé větve programu. Umožňují to instrukce skoku.