Site

. Les News
. Le Forum
. L'équipe et les projets
. Les Tutoriaux
. IRC
. La boite à outils
. Les routines et algos indispensables
. Les liens


Les News de TI-FR







 

 



LE SYSTEME

I)Le processeur
    Les Ti89 et Ti92+ comportent un processeur MOTOROLA 68000 cadencé à 10Mz( hardware 1) et pour les plus récentes calculatrice à 12Mz( hardware 2).
C'est un processeur pseudo 16-32 bits: § Il travaille en interne sur 32 bits: il peut traiter des informations sur 8, 16 ou 32 bits.
                                                         § Il echange des information avec l'extérieur par un bus 16 bits.
    1)La table d'exeption
        Lorsque l'on allume la calculatrice, le processeur éxecute les instructions pointées par le vecteur d'initialisation; ce vecteur est situé à l'adresse $000000 et est le premier vecteur de la table d'exeption.
Une exeption (trap) est un programme appelé par des routines externes ( hardware) ou internes ( software).A chaque exeption on associe un vecteur qui est le poieur de l'exeption; il existe 256 vecteurs, qui sont des doubles mots (longword) placés au tout début de la mémoire dans la table d'exeption: elle commence à l'adresse $000000 et finit à l'adresse $0003FF.La voici:
 
NUMERO DE VECTEUR
ADRESSE
RÔLE
0
$000
reset (pointeur de pile)
1
$004
reset ( pointeur de programme)
2
$008
erreur de bus
3
$00C
erreur d'adresse
4
$010
instruction illegale
5
$014
division par 0
6
$018
CHK
7
$01C
TRAPV
8
$020
violation de privilèges
9
$024
trace
10
$028
emulation 1010
11
$02C
emulation 1111
12 à 14
$030 à $038
non affectés: ne pas utiliser
15
$03C
non initialisée
16 à 23
$040 à $05C
non affectés: ne pas utiliser
24
$060
interruption parasite
25
$064
autovecteur de niveau 1
26
$068
autovecteur de niveau 2
27
$06C
autovecteur de niveau 3
28
$070
autovecteur de niveau 4
29
$074
autovecteur de niveau 5
30
$078
autovecteur de niveau 6
31
$07C
autovecteur de niveau 7
32 à 47
$080 à $0BC
TRAP 0 à TRAP 15
48 à 63
$0C0 à $FC
non affectés: ne pas utiliser
64 à 255
$100 à $3FC
iterruptions libres

    2)Les modes
        Le processeur M68k possède deux modes de fonctionnement différents:
            le mode utilisateur fournit un accès limité ( mais suffisament étendu) pour les programmes éventuels;
            le mode superviseur qui est utilisé uniquement par l'OS de la calculatrice, et qui fournit un accès total au système.

    3)Les exeptions
        Lorsque le processeur rencontre une exeption, il éxécute les instructions placée à l'adresse contenue par le pointeur de cette exeption.

        A)Les exeptions normales
            _ Division par 0: si le diviseur utilisé par DIVU ou DIVS vaut 0.
           _ CHK: tste si un opérande appartient à un interval donné
            _ TRAPV: si le Vflap est mis à 1: cette routine est appelée
            _ TRAP: permet d'utiliser une exeption dans un programme (par:"TRAP <numero du vecteur>")

        B)Les erreurs de programmation
            _ adresse error: si le processeur essaye de lire un mot (word) ou double-mot (longword) commençant à une adresse impaire
            _violation de privilège: si un programme tente d' éxécuter une instruction superviseur (parmi: STOP; RESET; RTE; MOVE.W xx,SR; AND.W #xx,SR; EOR.W #xx,SR; OR.W #xx,SR; MOVE.L An,USP; MOVE.L USP,An)
            _instruction ilégale: si le processeur tente d'executer $AFA ou $AFB (deux instructions réservées) ou $AFC (cette instruction force une illegal instruction: on l'utilise pour debugger en faisant des breakpoints) ou encore une instruction qu'il ne reconnnait pas.
            _ line 1010: si le processeur tente d' éxécuter $Fxxx
            _ line 1111: si le processeur tente d' éxécuter $Axxx
            _ trace: si le bit T1 du SR est mis à 1: le processeur appelle la procédure pointée par le vecteur 9 après chaque instruction du programme éxécutée.

    4)Octets système et utilisateur du Status Register
 
T1
T0
S
M
I2
I1
I0
X
N
Z
V
C
Le SR est donc composé de 2 bytes ou 1word

        A)OCTET UTILISATEUR ou FLAGREGISTER
            _ C: retenue ( aritmethique et CMP)
            _ V: dépassement
            _ Z: zéro
            _ N: négatif
            _ X: retenue ( arithmetique)

        B)OCTET SYSTEME ou SYSTEMBYTE
            _ T1 et T0: mode de trace
            _ M interruption maître
            _ S: mode superviseur
            _ I2, I1 et I0: priorités des interruption:
 
NIVEAU
I2
I1
I0
PRIORITE
0
0
0
0
- - - -
1
0
0
1
- - -
2
0
1
0
- -
3
0
1
1
-
4
1
0
0
+
5
1
0
1
+ +
6
1
1
0
+ + +
7
1
1
1
+ + + +

A suive tres prochainement... 




©Tous les programmes presents sur ce site sont soumis à l'autorisation de leur programmeurs respectifs pour toutes modifications. La mise en page a necessité un certain travail, il serait donc plus correct de ne pas la plagier.