9. Verschiedene Anweisungen

  • nop() pass keine Operation.

  • wfi() Setzt die Ausführung in einem Energiesparzustand aus, bis ein Interrupt auftritt.

  • cpsid(flags) setzt das Priority Mask Register - deaktiviert Interrupts.

  • cpsie(flags) löscht das Priority Mask Register - aktiviert Interrupts.

  • mrs(Rd, special_reg) Rd = special_reg kopiert ein spezielles Register in ein allgemeines Register. Das spezielle Register kann IPSR (Interrupt Status Register) oder BASEPRI (Base Priority Register) sein. Das IPSR bietet eine Möglichkeit, die Ausnahmenummer eines gerade verarbeiteten Interrupts zu bestimmen. Es enthält null, wenn kein Interrupt verarbeitet wird.

Derzeit sind die Funktionen cpsie() und cpsid() nur teilweise implementiert. Sie benötigen das flags-Argument, ignorieren es jedoch, und dienen als Mittel zum Aktivieren und Deaktivieren von Interrupts.