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 | 126 | temp <- t2 & 0b00011111 |
127 | 127 | d3 <- 0x00 |
128 | 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 | 132 | ret |
133 | 133 | |
134 | 134 | afficherTemperature: |
135 | 135 | ; Considère le registre compteur comme une température et l'affiche |
136 | 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 | 142 | ret |
142 | 143 | |
143 | 144 | afficherHeur: |
144 | 145 | ; Considère le registre compteur comme une heure et l'affiche |
145 | 146 | d3 <- afficheur@ROM[compteur/10] |
146 | - d2 <- afficheur@ROM[compteur%10] | 0b10000000 | |
147 | + d2 <- afficheur@ROM[compteur-(compteur*10)/10] | 0b10000000 | |
147 | 148 | d1 <- 0x00 |
148 | 149 | d0 <- 0x00 |
149 | 150 | ret |
... | ... | @@ -153,7 +154,7 @@ afficherMinu: |
153 | 154 | d3 <- 0x00 |
154 | 155 | d2 <- 0b10000000 |
155 | 156 | d1 <- afficheur@ROM[compteur/10] |
156 | - d0 <- afficheur@ROM[compteur%10] | |
157 | + d0 <- afficheur@ROM[compteur-(compteur*10)/10] | |
157 | 158 | ret |
158 | 159 | |
159 | 160 | afficherJour: |
... | ... | @@ -289,7 +290,7 @@ etatParaJours: |
289 | 290 | compteur <- 12 |
290 | 291 | etatParaJoursU: |
291 | 292 | d3 <- afficheur@ROM[compteur/10] |
292 | - d2 <- afficheur@ROM[compteur%10] | |
293 | + d2 <- afficheur@ROM[compteur-(compteur*10)/10] | |
293 | 294 | d1 <- 0x00 |
294 | 295 | d0 <- 0xFF ; TODO Récupérer le mode |
295 | 296 | reti |
... | ... | @@ -490,7 +491,7 @@ retour: |
490 | 491 | watchdog: |
491 | 492 | ; Met à jour les registres de temps, active agir10s ou agirHeur si nécessaire |
492 | 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 | 495 | call agir10s |
495 | 496 | si t0 < 30 saut reti ; Continue si on est sur un multiple de 60 secondes |
496 | 497 | t0 <- 0 | ... | ... |