CONTRÔLE
DU SYSTÈME
Fonction Introduction
Fonction Index des mnémoniques

Page précédente Fonction prochaine partie
Fonction partie précédente



 

Monter Descendre Retour Introduction
puce Les instructions de contrôle du système vous permettent de contrôler encore de plus près votre TI-92 dans le but de faire un OS par exemple, en effet certaines instructions sont interdites aux programmes "normaux" pour les empécher de perturber un système d'exploitation, ceci à permis de construire dans le passé un très robuste MacOS par exemple.

puce La grande majorité des instructions requierts que vous soyez en mode superviseur, c'est à dire que l'indicateur S soit armé (=1) pour pouvor les utiliser. Pour cela exécutez une interruption logicielle avec TRAP ou TRAPV.

puce Il faudra obligatoirement utiliser un mode d'adressage parmi ceux proposés.

puce N'oubliez pas que les indicateurs changent pour certaines instructions.





 
Monter Retour Index des mnémoniques
CHKCHecK
vérification de limites
RTEReTurn from Exception
retour d'exception
TRAPVTRAP with V-flag
exception logicielle avec V
MOVE USPMOVE USermode stackPointer
tranfert dans la pile utilisateur
STOPSTOP
attente d'une interruption
RESETRESET
initialisation des périphériques
TRAPTRAP
exception logicielle




 

Retour CHK CHecK
vérification de limites
Monter Descendre

DESCRIPTION
puce Vérifie si la valeur d'un registre de données est compris dans une limite définie par une adresse effective. La limite est un mot.

puceSi la valeur du registre de données est inférieur à 0 ou la valeur du registre de données est supérieur à la limite, l'interruption CHK-Interrupt est déclenché.

Dn<0Dn=00<Dn<limiteDn=limitelimite<Dn

MODES D'ADRESSAGE
puce

TAILLE DES DONNÉES
puce Mot

INDICATEURS
puce Inchangés

SYNTAXE
puce CHK <adresse>,Dy





 

Retour MOVE USP MOVE USermode stackPointer
tranfert dans la pile utilisateur
Monter Descendre

DESCRIPTION
puce Transfert le pointeur de pile utilisateur dans un registre de données et inversement. Pour utiliser cette instruction vous devez être en mode superviseur.

puce Etant donné que le processeur 68000 utilise deux pointeurs de pile, cette instruction est nécessaire quand un programme superviseur veut accéder au pointeur de pile utilisateur.

MODES D'ADRESSAGE
puce An

TAILLE DES DONNÉES
puce Mot long

INDICATEURS
puce Inchangés

SYNTAXES
puce MOVE USP,An
puce MOVE An,USP





 

Retour RESET RESET
initialisation des périphériques
Monter Descendre

DESCRIPTION
puce Provoque la réinitialisation des périphériques. Les registres du microprocesseur ne sont pas affectés.

MODES D'ADRESSAGE
puce -

TAILLE DES DONNÉES
puce -

INDICATEURS
puce Inchangés

SYNTAXES
puce RESET





 

Retour RTE ReTurn from Exception
retour d'exception
Monter Descendre

DESCRIPTION
puce Restaure le status depuis la pile provoquant éventuellement le retour en mode utilisateur, puis recharge depuis la pile le pointeur de programme PC, ce qui ramène dans le programme qui avait été interrompu par une exception avec l'instruction TRAP par exemple.

MODES D'ADRESSAGE
puce

TAILLE DE L'INSTRUCTION
puce 2 octets

TAILLE DES DONNÉES
puce Octet / Mot / Mot long

INDICATEURS
puce Inchangés

SYNTAXE
puce RTE





 

Retour STOP STOP
attente d'une interruption
Monter Descendre

DESCRIPTION
puce Permet l'execution d'interruptions et en attend une, cette instruction requiert que vous soyez en mode superviseur.

puce Une valeur dont la taille est un mot est enregistré dans le registre de status SR, le bit 13 (indicateur S) doit être armé (=1) sinon une interruption sera lancée puisque vous n'êtes pas en mode superviseur.

puce L'indicateur S doit être armé avant et après cette instruction.

MODES D'ADRESSAGE
puce -

TAILLE DES DONNÉES
puce Mot

INDICATEURS
puce Inchangés

SYNTAXE
puce STOP #<valeur>





 

Retour TRAP TRAP
exception logicielle
Monter Descendre

DESCRIPTION
puce Dépose le registre PC et le registre de statut SR sur la pile de supervision, passe en mode superviseur et une nouvelle valeur est donnée au registre PC dans le but d'exécuter une des 16 interruptions (routines système) disponibles avec cette instruction.

puce Cette valeur est connue grace aux adresses sur lesquels pointent les 16 vecteurs disponibles, la formule pour trouver l'adresse de l'interruption voulue est $80 + 4 * <vecteur>, un vecteur pouvant prendre comme valeur de #0 à #15.

puce Voici les fonctions relatives à chaque interruption logicielle :

TRAP #0exécution de routinesTRAP #8
TRAP #1modifier le masque d'interruptionTRAP #9exécution de routine à l'adresse $4004F8+4*D0.w
TRAP #2réinitialisation de l'ensemble de la TI-92TRAP #10test complet de la TI-92
TRAP #3TRAP #11affichage d'erreur "TRAP 11", la TI-92 bloquée
TRAP #4éteindre la TI-92TRAP #12affichage d'erreur "TRAP 12", la TI-92 bloquée
TRAP #5TRAP #13affichage d'erreur "TRAP 13", la TI-92 bloquée
TRAP #6TRAP #14affichage d'erreur "TRAP 14", la TI-92 bloquée
TRAP #7TRAP #15affichage d'erreur "ER_throw", la TI-92 bloquée

MODES D'ADRESSAGE
puce -

TAILLE DES DONNÉES
puce -

INDICATEURS
puce Inchangés

SYNTAXE
puce TRAP <vecteur>





 

Retour TRAPV TRAP with V-flag
exception logicielle avec V
Monter

DESCRIPTION
puce Exécute l'interruption dont l'adresse est contenue à l'adresse $1C si l'indicateur V est armé (=1).

puce Dans le cas contraire, l'indicateur V est desarmé (=0) donc l'instruction est ignorée.

MODES D'ADRESSAGE
puce -

TAILLE DES DONNÉES
puce -

INDICATEURS
puce Inchangés

SYNTAXE
puce TRAPV





 

 

Lisez la section sur les droits d'auteur et la license d'utilisation avant de distribuer Zguide.

Zguide © 1998, Florian DREVET. Tous droits réservés à l'échelle mondiale