Bien bonsoir !
Je commence donc le journal de bord ! Chaque jour, je vais créer un topic qui récapitule ce qui a été fait. Vous pouvez (et devez) y répondre en indiquant ce que vous avez fait aussi ! :) Ça nous permettra de faciliter la création du compte rendu, et de guider les autres membres du groupe qui souhaite vous aider dans votre tâche. Vous devez donc expliquer suffisamment en détail votre avancé, vos bug, vos idées etc...
Let's go ?
*************************************************
CRÉATION DES REGISTRES
[Voir schéma_registre.pdf ci joint]
On a 37 registres physiques A[31..0] de 32 bits en tout. Les registres ARM sont constitués comme suit :
-
Les registres R0 à R7 : Se sont des registres généraux. Ils sont accessibles sous n'importe quel mode et n'ont pas de contraintes particulières. Elles sont chacunes composées d'un seul registre physique, cad que R0 = A[0], R1 = A[1] etc...
-
Les registres R8 à R12 : Ils sont aussi généraux, mais ils sont composés de DEUX registres physiques chacun. L'un est pour le mode USER, l'autre pour le mode FIQ. (Mais on notera que les autres modes peuvent se servir des registres en mode USER). Donc, R8 = A[8..9], R9 = A[10..11] etc...
- Le registre R13 = SP (Stack Pointer) : Il est composé de 6 registres physiques, un pour chaque mode (usr, svc, abt, und, irq et fiq). SP monopolise donc les registres physiques A[18] à A[23]
- Le registre R14 = LR (Link register) : Pareil que SP. Il occupe les registres physiques A[24] à A[29].
- Le registre R15 = PC (Program Counter) : Il n'occupe qu'un seul registre physique, A[30], et peut être lu/modifié sous n'importe quel mode.
- Les registres d'états : C'est ici qu'on a le registre CPSR + 5 registres de sauvegardes, les SPSR (un pour chaque mode). ATTENTION : Ils ne sont pas accessibles à tous les modes, surtout CPSR. Seule certaines zones peuvent être modifiable par USER (usr). (cf schéma_registres.pdf) Ils occupent donc les registres physiques A[31] à A[36]
**********
Les fonctions + structure se trouvent dans
registers.cLe tout compile mais des tests sont nécessaires.