Please read this page from the main YASEP interface
version 2014-02-12

HALT : HALTe le programme

Cette instruction met le thread courant en pause, stoppant le flux d'instructions. C'est aussi utilisé pour stopper le programme dans le simulateur (INV peut le stopper pour indiquer une erreur mais ce n'est pas recommandé).

Si le processus en a les droits, le processeur entre en hibernation jusqu'à être réveillé par une interruption externe. Sinon, le noyau du système d'exploitation reprend le contrôle. Le processus redémarrera après l'instruction HALT.

Aucun opérande n'est utilisé, la valeur de tous les paramètre est ignorée (snd, si4 ou imm16). Les formes longues n'ont pas de sens et sont ignorées. Les registres ne sont pas affectés donc cette instruction ne peut pas être annulée par une condition.

Le champ Imm4 est utilisé pour signaler une situation ou envoyer un message au système d'exploitation ou au simulateur. Ces derniers, s'ils attendent une information, doivent explicitement lire l'instruction ou la mémoire du programme pour extraire la valeur (c'est plus pratique pour coder les tests de régression).

En particulier, deux valeurs sont reconnues par le simulateur, et indiquent le résultat d'un test :

; Simulation ou test réussi
HALT 1

; Echec de simulation ou test 
HALT -1