1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

15. Vanha tietokone

Antti-majava on löytänyt ullakoltaan vanhan tietokoneen. Hän haluaa tutkia sitä tarkemmin ja yrittää laatia ohjelman, joka laskee yhteen kaksi ei-negatiivista kokonaislukua (0,1,2,3,...). Koneessa on kolme rekisteriä (muistialuetta, jotka sisältävät kukin yhden luvun), jotka ovat nimeltään R1, R2 ja R3. Jotta konetta voitaisiin ohjelmoida, sisältää se joukon operaatioita.

Alhaalla olevassa taulukossa on lueteltu mahdolliset operaatiot ja näiden vaikutukset. i ja j ovat rekisterin numeroita ja q on operaation "järjestysnumero" (järjestysnumero kirjoitetaan operaatiorivin alkuun, esim. 2: ...).

Zero (i) Asettaa 0 rekisteriin Ri.
Inc (i) Lisää 1 rekisterin Ri arvoon.
Dec (i) Vähentää 1 rekisterin Ri arvosta.
Store (i,j) Kopioi arvon rekisteristä Rj rekisteriin Ri.
JumpEqual (i,j,q) Jos rekistereillä Ri ja Rj on sama arvo, hypätään q:teen operaatioon.
JumpNotEqual (i,j,q) Jos rekistereillä Ri ja Rj on eri arvot, hypätään q:teen operaatioon.

 

Jos Antti asettaa kaksi lukua rekistereihin R1 ja R2, mikä seuraavista ohjelmista laskee luvut yhteen ja asettaa tuloksen rekisteriin R1?

Valitse oikea vastaus:

Muista painaa vastaa-painiketta, muuten vastaus ei tallennu lainkaan.