Pääsiäisloman vuoksi tämä laskuharjoituskerta jakaantuu kahdelle viikolle siten, että tiistain ja keskiviikon harjoituksen ovat ennen pääsiäistä ja perjantaina harjoitukset pääsiäisen jälkeen. Harjoitus 4 on viikolla 17.
Varaudu esittämään kaikki koksiin liittyvät tehtävät mikrotietokoneella harjoitustilaisuudessa. Tallenna siksi ratkaisusi joko levykkeelle tai fs-verkkolevylle. Ota mukaan myös tuloste ratkaisuistasi.
Kirjoita lyhyt (noin 10-30 riviä) selvitys TTK-91 koneen käskyjen aiheuttamista muistiviittauksista. Pyri selvityksessäsi vastaamaan mm. seuraaviin kysymyksiin. Mikä käsky aiheuttaa eniten muistiviittauksia? Mikä vähiten? Ota pohdinnoissasi huomioon käskyn suorituksen kaikki vaiheet. Miten operaatiokoodi ja tiedon osoitusmuoto vaikuttavat tarvittavien muistinoutojen määrään?
Laadi selvityksesi tavallisena tekstitiedostona, jossa ei ole mitään erityisiä muotoiluja. Älä siis turhaan käytä tekstinkäsittelyohjelman muotoiluja.
Palauta laatimasi tekstitiedosto www-sivun http://db.cs.helsinki.fi/~tuohinie/tito/ kautta.
Palautus pitää tehdä viimeistään 24 tuntia ennen ryhmän alkua. Myöhemmin palautus ei ole mahdollista eikä myöhästyneitä palautusyrityksiä oteta huomioon.
Täydennä (esimerkkihakemistossa olevaa) ohjelmaa lh_arvop.k91 toteuttamalla aliohjelma Simple(A, B, C), joka tulostaa annetun kolmen parametrin summan. Kaikki kolme parametria välitetään arvoparametreina.
Noudata aliohjelmien ja funktioiden toteutuksessa luennolla esitettyä tapaa aktivointitietueen rakentamiseen ja purkamiseen. Huolehdi, että kaikkien työrekistereiden (R0-R5) arvot ovat samat aliohjelmasta tai funktiosta palatessa kuin ne olivat kutsuhetkellä. Voit kopioida heti aluksi ohjelmarungon lh_arvop.k91 omaan koksi hakemistoosi ja täydentää siihen aliohjelman Simple.
Tarkista ohjelmasi toimivuus kääntämällä ja suorittamalla se Koksin avulla.
Täydennä (esimerkkihakemistossa olevaa) ohjelmaa lh_kutsu.k91 toteuttamalla aliohjelma SUBR(X, A, B), joka asettaa tulosparametrin X arvoksi arvoparametrien A ja B erotuksen. X välitetään viiteparametrina.
Tarkista ohjelmasi toimivuus kääntämällä ja suorittamalla se Koksin avulla.
TTK-91 koneen konekäskyn osoiteosa on vain 16-bittinen. Tämä asettaa rajoituksia käskyssä olevien vakioiden koolle.
TTK-91 koneessa ei kuitenkaan ole tällaisia tietotyyppejä. Voisiko MyLan kielelle tehdä kääntäjän, jonka avulla MyLan kielisiä ohjelmia voisi suorittaa TTK-91 koneessa? Jos voi, niin miten? Jos ei voi, niin miksi ei?