Bonjour,
Après avoir lancé le test-cpu-week08, on remarque que l'output est différent de l'output fourni.
On comprend le problème de la façon suivante (voir commentaires sur l'output ci-dessous):
Starting running CPU for 85 cycles
DEBUG: cpu->idle_time = 0 //normal, après initialisation
Executing: 0x00 (1 cycle(s)) //donc après le dispatch, idle_time augmente de 1 (durée du NOP)
REGS: 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
REGPAIRS: 0x0000, 0x0000, 0x0000, 0x0000
PC: 0
SP: 0
DEBUG: cpu->idle_time = 1 // Comme dit ci-dessus
Waiting to execute: 0x7F (1 cycle(s)) //problème: Ici, il devrait y avoir un "Executing: 0x7F..."
DEBUG: cpu->idle_time = 0 // Le wait décrémente idle_time, comme prévu
Executing: 0x7F (1 cycle(s))
Le problème est qu'on ne sait pas comment faire que l'idle_time soit à 0 avant l'execution de 0x7F, parce qu'on incrémente idle_time à la fin du dispatch. Il faudrait en théorie que idle_time = -1 avant le dispatch du premier NOP pour que ça fonctionne (mais ça semble farfelu).
Merci d'avance