Virtuaalitietokoneen ja assembly-kielen kehitys
Parrila, Jiska (2018)
Parrila, Jiska
Oulun ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201804104386
https://urn.fi/URN:NBN:fi:amk-201804104386
Tiivistelmä
Työ käsittelee tietokoneen toimintaa matalalla tasolla virtuaalitietokoneen avulla. Virtuaalitietokoneelle on toteutettu käskykanta, assembly-kieli ja assembly-kääntäjä eli assembleri. Kaikki kolme rakennettiin Kari Laitisen C++:lla kirjoittamia IC8- ja IML-ohjelmia muokkaamalla.
Työn alkuperäinen tavoite oli kirjoittaa moniajoon kykenevä käyttöjärjestelmä IC8:lle. Johtuen kuitenkin IC8:n ja IML:n rajoituksista työ painottui niiden uudelleen kirjoittamiseen, joka johti lopulliseen aiheeseen. Muutoksia ohjelmiin tehtiin tarpeen vaatiessa. Työn lopputuloksena saatiin aikaan IC8:aa ominaisuuksiltaan rikkaampi IC8E, siistitty ja paranneltu IML-assembleri nimeltään IMLE ja joustavampi assembly-kieli.
Työn tulosten ansiosta IC8E:lle olisi mahdollista kirjoittaa alkuperäisen aiheen mukainen käyttöjärjestelmä. IMLE-kääntäjää täytyy kuitenkin kehittää hieman, jotta se kykenisi kääntämään uudelleensijoitettavia ohjelmia.
Työn alkuperäinen tavoite oli kirjoittaa moniajoon kykenevä käyttöjärjestelmä IC8:lle. Johtuen kuitenkin IC8:n ja IML:n rajoituksista työ painottui niiden uudelleen kirjoittamiseen, joka johti lopulliseen aiheeseen. Muutoksia ohjelmiin tehtiin tarpeen vaatiessa. Työn lopputuloksena saatiin aikaan IC8:aa ominaisuuksiltaan rikkaampi IC8E, siistitty ja paranneltu IML-assembleri nimeltään IMLE ja joustavampi assembly-kieli.
Työn tulosten ansiosta IC8E:lle olisi mahdollista kirjoittaa alkuperäisen aiheen mukainen käyttöjärjestelmä. IMLE-kääntäjää täytyy kuitenkin kehittää hieman, jotta se kykenisi kääntämään uudelleensijoitettavia ohjelmia.