![]() ![]() ![]() |
Ces TRAP sont au nombre de 16 et ici, point de niveau de priorité comme c'est le cas pour les interruptions logiciels.
En effet, les TRAP sont principalement utilisées pour accéder à des routines liées au système d'exploitation, la TRAP 4 va par exemple éteindre la calculatrice.
![]() ![]() ![]() |
$000080 | vecteur de la TRAP 1 | $000084 | vecteur de la TRAP 2 |
$000088 | vecteur de la TRAP 3 | $00008C | vecteur de la TRAP 4 |
$000090 | vecteur de la TRAP 5 | $000094 | vecteur de la TRAP 6 |
$000098 | vecteur de la TRAP 7 | $00009C | vecteur de la TRAP 8 |
$0000A0 | vecteur de la TRAP 9 | $0000A4 | vecteur de la TRAP 10 |
$0000A8 | vecteur de la TRAP 11 | $0000AC | vecteur de la TRAP 12 |
$0000B0 | vecteur de la TRAP 13 | $0000B4 | vecteur de la TRAP 14 |
$0000B8 | vecteur de la TRAP 15 | $0000BC | vecteur de la TRAP 16 |
Qui dit pointeurs dans la RAM dit… pointeur modifiable et c'est effectivement le cas !
Il devient alors possible de détourner ces interruptions mais dans des conditions restreintes.
Il faudra tout de même désactiver la protection de la mémoire en désarmant le bit 2 à l'adresse $600001, en effet toute écriture dans la mémoire inférieure à l'adresse $000120 n'est autorisée que sous cette condition, n'oubliez pas de réactiver la protection de la mémoire après avoir fini.
Voici une capture d'écran du logiciel Hexview 2.5 de Benoît Scherrer, celle-ci montre les vecteurs des interruptions logiciels de la TI-92II (les vecteurs sont différents selon les TI) :
![]() ![]() ![]() |
Le microprocesseur fini l'exécution de l'instruction courante et va déposer successivement sur la pile le registre de pointeur d'instruction PC (pour revenir au programme que nous allons quitter) puis le registre de statut SR, soit 4 puis 2 octets.
L'exécution se poursuit à l'adresse elle-même contenue à l'adresse associée à la TRAP 4, soit $000090.
La routine exécute alors la tâche qui lui incombe et va se terminer non pas par l'instruction RTS (qui restaure seulement PC) mais par l'instruction RTE (ReTurn from Exception) qui va, elle, restaurer PC et SR.
Le programme "interrompu " par la TRAP poursuit son exécution.
Zguide © 1998 - 1999 par Florian DREVET. Tous droits réservés