in English suomeksi Harjoitukset

Tietokoneen toiminta, HT 2

  1. Tee ttk-91 koneen symbolisella konekielellä ohjelma, joka tekee saman kuin C ohjelma
            int x=8, y=4, z=1700;  /* variables x, y, z */
            main () {             /* main program */
                y = 4;
                x = 852 - z /y +7;
                if (x < 40) {
                    y = x - 34;
                    }
                else {
                    y = x / y + 400000;
                    z = 23;
                    }
                printf ( "%d %d %d \n", x, y, z)  /* print x, y, z */
            }
    

    Tarkista ohjelmasi toimivuus kääntämällä ja suorittamalla se Titokoneen avulla.

  2. [2 htp] Tee ttk-91 koneen symbolisella konekielellä ohjelma, joka

    1. Varaa tilaa 8-alkioiselle taulukolle Tbl[8]
    2. Alustaa suoritusaikana taulukon Tbl siten, että Tbl[i] = 2*i;
    3. Lukee muuttujalle k arvon näppäimistöltä
    4. Tulostaa taulukon alkion Tbl[k] arvon
    5. Laskee taulukon Tbl alkioiden summan
    6. Tulostaa lasketun summan

    Tarkista ohjelmasi toimivuus kääntämällä ja suorittamalla se Titokoneen avulla.

  3. Muistin osoitusmuodot. Oletetaan, että kullakin käskyllä jatkossa lähtötilanne on oheisen kuvan [Tito luento 2, Kesä 2004] tilanne. Anna kullekin käskylle tehollinen muistiosoite (effective address) ja joko muuttuneen rekisterin sisältö tai muuttuneen muistipaikan osoite ja sisältö. Jos jokin käsky ei ole laillinen, kerro minkä takia näin on.
    1. LOAD R4, 200
    2. LOAD R3, One(R1)
    3. LOAD R3, =One(R1)
    4. STORE R0, One(R1)
    5. STORE R2, @9(R3)
    6. LOAD R0, @R1
    7. LOAD R1, @(R1)
    8. STORE R1, @(R1)
    9. STORE R0, R1
    10. STORE R1, R0
    11. STORE R2, =One
  4. [2 htp] Suunnittele ja toteuta yksi toimiva kertaustehtävä. Kertaustehtävän kysymys on "Miksi opiskelen Titoa?". Keksi ainakin 4 eri vastausvaihtoa selityksineen.

    Tehtävän tarkoitus on tutustua kertaustehtävien toteutustapaan, joten vastausten ja niiden selitysten sisällöllä ei ole niin väliä. Tässä on hyvä mahdollisuus luovaan huumoriin.
 

Teemu Kerola