9. Istruzioni varie

  • nop() pass nessuna operazione.

  • wfi() Sospende l’esecuzione in uno stato a basso consumo finché non si verifica un interrupt.

  • cpsid(flags) imposta il Priority Mask Register - disabilita gli interrupt.

  • cpsie(flags) azzera il Priority Mask Register - abilita gli interrupt.

  • mrs(Rd, special_reg) Rd = special_reg copia un registro speciale in un registro generale. Il registro speciale può essere IPSR (Interrupt Status Register) o BASEPRI (Base Priority Register). L’IPSR fornisce un mezzo per determinare il numero di eccezione di un interrupt in fase di elaborazione. Contiene zero se nessun interrupt è in fase di elaborazione.

Attualmente le funzioni cpsie() e cpsid() sono parzialmente implementate. Richiedono ma ignorano l’argomento flags e fungono da mezzo per abilitare e disabilitare gli interrupt.