From a238970bacbbcd4293d469ece34cef602b0511a0 Mon Sep 17 00:00:00 2001 From: Geoffrey Frogeye Date: Fri, 19 May 2017 16:10:22 +0200 Subject: [PATCH] Sauvegarde en RAM des valeurs stockées en RAM --- principal.txt | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/principal.txt b/principal.txt index 8f412eb..a516299 100644 --- a/principal.txt +++ b/principal.txt @@ -40,6 +40,12 @@ .def t0 = r10 ; Secondes / 2 .def selaff = r11 ; Digit en cours d'affichage +; Nommage des adresses RAM utilisées + +.equ assocs = 0x0200 ; Association des modes aux heures +.equ tempJour = 0x02a8 ; Température du mode jour +.equ tempNuit = 0x02a9 ; Température du mode nuit + ; Vecteurs d'interruptions .org 0x000 ; Vecteur RESET @@ -281,18 +287,18 @@ etatMenuJoursC: call boundJour jmp etatMenuJoursU -etatMenuJoursS: - ; TODO Switch mode nuit ↔ mode jour - reti - etatParaJours: etat <- etat + 7 compteur <- 12 etatParaJoursU: d3 <- afficheur@ROM[compteur/10] - d2 <- afficheur@ROM[compteur-(compteur*10)/10] + d2 <- afficheur@ROM[compteur-(compteur/10)*10] d1 <- 0x00 - d0 <- 0xFF ; TODO Récupérer le mode + temp <- (etat - 10) * 24 + compteur + ; Si la RAM n'est pas initialisée à cet endroit, on préfère afficher un tiret + d0 <- 0x40 + si assocs[temp] = 0b00000000 alors d0 <- 0x3c + si assocs[temp] = 0b00000001 alors d0 <- 0x54 reti etatParaJoursC: @@ -300,7 +306,8 @@ etatParaJoursC: jmp etatParaJoursU etatParaJoursS: ; Switch - ; TODO Sauvegarde + temp <- (etat - 10) * 24 + compteur + assocs[temp] <- (assocs[temp] + 1) & 0b00000001 jmp etatParaJoursU etatMenuTJour: @@ -313,14 +320,14 @@ etatMenuTJour: etatParaTJour: etat <- 18 - compteur <- 0 ; TODO Récupérer la température + compteur <- tempJour etatParaTJourU: call afficherTemperature reti etatParaTJourC: call boundTemperature - ; TODO Sauvegarde + tempJour <- compteur jmp etatParaTJourU etatMenuTNuit: @@ -333,14 +340,14 @@ etatParaTJourC: etatParaTNuit: etat <- 20 - compteur <- 0 ; TODO Récupérer la température + compteur <- tempNuit etatParaTNuitU: call afficherTemperature reti etatParaTNuitC: call boundTemperature - ; TODO Sauvegarde + tempNuit <- compteur jmp etatParaTNuitU etatMenuHorloge: @@ -457,7 +464,7 @@ valider: si etat <= 1 saut etatMenuAssoc si etat = 2 saut etatMenuJours si etat <= 9 saut etatParaJours - si etat <= 16 saut etatMenuJoursS + si etat <= 16 saut etatParaJoursS si etat = 17 saut etatParaTJour si etat = 18 saut etatMenuTJour si etat = 19 saut etatParaTNuit -- libgit2 0.21.2