Commit 59a7fe2e47da9b163f42cbaf073c4b29ac49337c
1 parent
54877f0f
Correction des modulos
Ne semblent pas fonctionner, on utilise le fait que x%y=x-(x/y)*y (avec / étant une division entière) pour passer à côté.
Showing
1 changed file
with
12 additions
and
11 deletions
Show diff stats
principal.txt
@@ -126,24 +126,25 @@ afficherHorloge: | @@ -126,24 +126,25 @@ afficherHorloge: | ||
126 | temp <- t2 & 0b00011111 | 126 | temp <- t2 & 0b00011111 |
127 | d3 <- 0x00 | 127 | d3 <- 0x00 |
128 | si temp > 10 alors d3 <- afficheur@ROM[temp/10] | 128 | si temp > 10 alors d3 <- afficheur@ROM[temp/10] |
129 | - d2 <- afficheur@ROM[temp%10] | 0b10000000 | ||
130 | - d1 <- afficheur@ROM[t2/10] | ||
131 | - d0 <- afficheur@ROM[t2%10] | 129 | + d2 <- afficheur@ROM[temp-(temp/10)*10] | 0b10000000 |
130 | + d1 <- afficheur@ROM[t1/10] | ||
131 | + d0 <- afficheur@ROM[t1-(t1/10)*10] | ||
132 | ret | 132 | ret |
133 | 133 | ||
134 | afficherTemperature: | 134 | afficherTemperature: |
135 | ; Considère le registre compteur comme une température et l'affiche | 135 | ; Considère le registre compteur comme une température et l'affiche |
136 | d0 <- 0x63 | 136 | d0 <- 0x63 |
137 | - d1 <- afficheur@ROM[compteur%10] | ||
138 | - temp <- compteur + 50 | ||
139 | - d2 <- afficheur@ROM[(temp/10)%10] | 0b10000000 | ||
140 | - d3 <- afficheur@ROM[temp/100] | 137 | + d1 <- afficheur@ROM[compteur-(compteur/10)*10] |
138 | + temp <- compteur / 10 + 5 | ||
139 | + d2 <- afficheur@ROM[temp-(temp/10)*10] | 0b10000000 | ||
140 | + d3 <- 0x00 | ||
141 | + si temp > 10 alors d3 <- afficheur@ROM[temp/10] | ||
141 | ret | 142 | ret |
142 | 143 | ||
143 | afficherHeur: | 144 | afficherHeur: |
144 | ; Considère le registre compteur comme une heure et l'affiche | 145 | ; Considère le registre compteur comme une heure et l'affiche |
145 | d3 <- afficheur@ROM[compteur/10] | 146 | d3 <- afficheur@ROM[compteur/10] |
146 | - d2 <- afficheur@ROM[compteur%10] | 0b10000000 | 147 | + d2 <- afficheur@ROM[compteur-(compteur*10)/10] | 0b10000000 |
147 | d1 <- 0x00 | 148 | d1 <- 0x00 |
148 | d0 <- 0x00 | 149 | d0 <- 0x00 |
149 | ret | 150 | ret |
@@ -153,7 +154,7 @@ afficherMinu: | @@ -153,7 +154,7 @@ afficherMinu: | ||
153 | d3 <- 0x00 | 154 | d3 <- 0x00 |
154 | d2 <- 0b10000000 | 155 | d2 <- 0b10000000 |
155 | d1 <- afficheur@ROM[compteur/10] | 156 | d1 <- afficheur@ROM[compteur/10] |
156 | - d0 <- afficheur@ROM[compteur%10] | 157 | + d0 <- afficheur@ROM[compteur-(compteur*10)/10] |
157 | ret | 158 | ret |
158 | 159 | ||
159 | afficherJour: | 160 | afficherJour: |
@@ -289,7 +290,7 @@ etatParaJours: | @@ -289,7 +290,7 @@ etatParaJours: | ||
289 | compteur <- 12 | 290 | compteur <- 12 |
290 | etatParaJoursU: | 291 | etatParaJoursU: |
291 | d3 <- afficheur@ROM[compteur/10] | 292 | d3 <- afficheur@ROM[compteur/10] |
292 | - d2 <- afficheur@ROM[compteur%10] | 293 | + d2 <- afficheur@ROM[compteur-(compteur*10)/10] |
293 | d1 <- 0x00 | 294 | d1 <- 0x00 |
294 | d0 <- 0xFF ; TODO Récupérer le mode | 295 | d0 <- 0xFF ; TODO Récupérer le mode |
295 | reti | 296 | reti |
@@ -490,7 +491,7 @@ retour: | @@ -490,7 +491,7 @@ retour: | ||
490 | watchdog: | 491 | watchdog: |
491 | ; Met à jour les registres de temps, active agir10s ou agirHeur si nécessaire | 492 | ; Met à jour les registres de temps, active agir10s ou agirHeur si nécessaire |
492 | inc t0 | 493 | inc t0 |
493 | - si t0 % 5 != 0 saut reti ; Continue si on est sur un multiple de 10 secondes | 494 | + si t0-(t0/5)*5 != 0 saut reti ; Continue si on est sur un multiple de 10 secondes |
494 | call agir10s | 495 | call agir10s |
495 | si t0 < 30 saut reti ; Continue si on est sur un multiple de 60 secondes | 496 | si t0 < 30 saut reti ; Continue si on est sur un multiple de 60 secondes |
496 | t0 <- 0 | 497 | t0 <- 0 |