Mekaniska CPU-klockan (1 / 17 steg)
Steg 1: CPU instruktionerna
Här är de grundläggande instruktioner (assembler) som vi kommer att använda:
INCRMENT: Öka registrera A genom ett tillägg 1.
LIKA: Om register A är lika med ett visst nummer, sedan hoppa över nästa instruktion.
KLARA: som register A 0, DTD inställd på false
HOPPA: hoppa till en specifik instruktion på ett visst radnummer
SET_DTD: Ange DTD till true
CHECK_DTD: om DTD är sant, sedan hoppa över nästa instruktion.
Här är assembler kod för klockan (register A kommer att hålla timmarna).
1: CHECK_DTD
2: HOPPA 5
3: KLART
4: HOPPA 1
5: ÖKA
6: LIKA 11
7: JUMP 1
8: SET_DTD
9: JUMP 1
Linje 1 kontroller för att se om DTD har angetts till true (används för att ange om vi måste återställa timmen). Om dess sanna vi hoppa till linje 3 och ställa in timmen till 0 och DTD till false. Om DTD är false sedan vi fortsätta med nästa instruktion och hoppa till rad 5. Linje steg om 5 timme (register A), medan linje 6 kontrollera om den är lika till 11. Om register A är lika med 11, sedan vi hoppa till linje 8 och ställa DTD till true och hoppa tillbaka till början (linje 1). Annars går vi till början. Om vi kör ändå här koden en gång i timmen, då genom att läsa registren A, kan vi berätta vad som är den aktuella timmen.