* Pour la boucle : 1) Affectation des registres : R3 : compteur A1 : loop 2) Préparation des itérations pour la boucle : mov 65536 R3 Le cpu est en 32 bits (et le framebuffer en 24 bits par pixel + 8 bits inutilisés). Chaque mot de YASEP accède donc à 1 pixel Avec un fb de 256*256, ça fait 65 536 pixels il faut donc 65 536 itérations pour balayer tout le framebuffer. 3) Préparation du chemin de la boucle : add 4 PC A1 On fait 4+PC et on met le résultat dans A1 ça crée un repère qui permet de revenir dessus pour reboucler 4) On décrémente le compteur add -1 R3 5) On remet A1 dans PC si R3 n'est pas égal à 0 mov A1 PC NZ R3 6) On bloque le processeur pour sortir du programme : HALT * Pour le framebuffer : 1) Affectation des registres : R1 : couleur (Registre simple de stockage) R3 : compteur A1 : loop A2 : écran (registre d'Adresse) associé à D2 (registre de Donnée) 2) On pointe sur le début du framebuffer : mov 20000h A2 3) On décide de la couleur : mov 00A0FFh R1 ; #00A0FF : bleu ciel On place 00A0FF dans R1 (< 500 000 donc une seule instruction nécessaire) 4) on écrit la couleur dans le framebuffer : mov R1 D2 add 4 A2 * Pour le LFSR : 1) Affectation des registres : R1 : LFSR (couleur) R2 : polynome R3 : compteur A1 : loop A2 : écran (registre d'Adresse) associé à D2 (registre de Donnée) 2) On génère un bit pseudo-aléatoire : ADD R1 R1 ; décale le registre, 3) On met le bit de poids fort dans la retenue : xor R2 R1 CARRY