<\body> > Nous proposons ici une spécification pour un processeur minimaliste 16 bit RISC. La machine dispose de 8 registres \S généraux \T : \; <\itemize> 0. Registre ou zéro (valant tout le temps 0...) 1. Registre 2. Registre 3. Registre 4. Registre 5. Registre , écrit par certaines instructions (multiplication, division...) et utilisé préférentiellement comme registre temporaire pour certaines instructions composées 6. Registre , ou (return adresse), écrit par l'instruction 7. Registre , ou (stack pointer), utilisé par les instructions et De plus, le processeur dispose d'un registre non manipulable, le registre (program counter). Les numéros de registres sont donc codés sur 3 bits. La mémoire est adressée sur 16 bits, il y a donc 64ko disponnibles. Différentes zones de mémoire sont à définir (ROM, RAM, MMIO) Les instructions sont codées sur 16 bits. ||||||>|>|>|>>>>>> >|||||||||>|>|>|>>|>>|>>>>> >||||||>|>|>|>>>>> ||||||||>|>|>|>>|>>>>> >||||||>|>|>>>>> Certain noms d'instuctions sont en , il s'agit de signifier qu'il s'agit d'un alias (optionnel) pour une autre instruction. |>>|>|>>|>|>|>>|||||R+R>>|>|||||R-R>>|>|||||lo\R|)>>>|>|||||hi\R|)>> si R>>|>|||||q,R|)>>>|>|||||r,R|)>> si R>>|>||||||>||||||>||||||>||||||>|||||\R|)>>>|>|||||\R|)>>>|>|||||\R|)>>>|>|||||not \R|)>>>|>|||||\R|)>>>|>||||>||>|||||\R|)>> (logical)>|>|||||\R|)>> (arith)>|>||||>||>||||>||>|||||=R?1:0|)>>>|>|||||\R?1:0|)>>>|>|||||\\R?1:0|)>>>|>|||||\R?1:0|)>>>|>|||||\\R?1:0|)>>>|>|||||\R?1:0|)>>>|>|||||>>| signé>>|||||d|)>>>| signé>>|||||PC+d>>|>||||| ; PC\PC+d>>|>||>|||R>>|>||>||| ; PC\R>>|>|||||=R> then R>>|>|||||\R> then R>>|>|||||\R> then R>>|>|||||\R> then R>>|>|||||\R> then R>>|>|||||\R> then R>>|>||||||>||||||>||||||>||||||>|||||mem+d|)>> (16 bits)>|>|||||+d|)>\R> (16 bits)>|>|||||mem+d|)>> (8 bits)>|>|||||+d|)>\R> (8 bits)>|>|||||mem+R|)>> (16 bits)>|>|||||+R|)>\R> (16 bits)>|>|||||mem+R|)>> (8 bits)>|>|||||+R|)>\R> (8 bits)>|>|||||\d>>|>|||||\d ; R\0>>|>|||||\d>>|>|||||\d ; R\0>>|>||||||>||||||>||||||>||||>||>>>>|Instructions reconnues par le microproceseur> |>|>|>>|>|G-2 ;mem\R >>|>>|||>, >>|>|mem ; G\G+2>>|, >>|||, 2>>|>>|R>>|, >, >>||R+d>>|>|>>|not R>>|,Z>>>|, addr>| then addr>>|>|||>|, addr>|0> then addr>>|>|||>>>>|Instructions supplémentaires (produites par l'assembleur)>\ <\initial> <\collection> <\references> <\collection> > > > > > > > > > > > > <\auxiliary> <\collection> <\associate|table> > > <\associate|toc> |math-font-series||Registres> |.>>>>|> |math-font-series||Mémoire> |.>>>>|> |math-font-series||Jeu d'instruction> |.>>>>|> |Types d'instructions |.>>>>|> > |Format de base |.>>>>|> > |Format |R> |.>>>>|> > |Format |I> |.>>>>|> > |Format K |.>>>>|> > |Format |J> |.>>>>|> > |math-font-series||Tableau d'instructions> |.>>>>|>