Käytettävänäsi on Hyvin Pieni tietokone, jossa on ainoastaan
yksi akkurekisteri ja jonka käskykannan muodostavat konekäskyt
LDA (lataa akkurekisteriin osoitetun muistipaikan sisältö),
STA (talleta akkurekisterin sisältö osoitettuun muistipaikkaan),
ADD (lisää akkurekisteriin osoitetun muistipaikan sisältö),
CLR (nollaa akkurekisteri),
INC (kasvata akkurekisterin sisältämää arvoa yhdellä),
DEC (pienennä akkurekisterin arvoa yhdellä, paitsi jos arvo on jo 0),
NOP, HLT, JMP (ehdoton hyppykäsky)
ja JAZ (hyppää, jos akkurekisterin arvo on 0). Siten esimerkiksi
seuraava HP-tietokoneen muistipaikoissa 0000-0004 sijaitseva
ohjelma laskee yhteen muistipaikoissa
0100 ja 0101 olevat luvut, lisää summaan ykkösen
ja tallettaa tuloksen muistipaikkaan 0102:
0000 LDA 0100
0001 ADD 0101
0002 INC
0003 STA 0102
0004 HLT
Käännä tämän Hyvin Pienen tietokoneen konekielelle
seuraava korkean tason ohjelma, joka laskee ns.\
n:nnen Fibonacci-luvun :
n;
;
;
;
n > 0
{ ;
;
;
};
f.
Voit olettaa, että ohjelman
toiminnan aluksi syötearvo n on talletettu muistipaikkaan 0100.
Käytä muistipaikkaa 0101 muuttujan f1 tallettamiseen, muistipaikkaa
0102 muuttujalle f2 ja muistipaikkaa 0103 muuttujalle f.