Tietokoneen toiminta syksy -99

HUOM! Jos haluat vielä ostaa Häkkisen monisteen, niin ilmoita siitä kurssin luennoitsijalle Liisa Marttiselle tai monistemyyntiin viimeistään 18.11. ====================================================================================

Laskuharjoitus 4 (15.-19.11.)


1. Vastaa seuraaviin kysymyksiin:
a) Mihin ympäristöosoitinta FP käytetään? Miksi sitä tarvitaan?
b) Miten pinoa käytetään aliohjelmien yhteydessä? Millä muulla tavalla parametrit voisi välittää?
c) Mitä toimintoja on suoritettava aliohjelmaan siirryttäessä?
d) Mitkä näistä toiminnoista suoritetaan CALL- ja EXIT-käskyjen yhteydessä?
e) Mitä eroavat toisistaan arvo- ja viiteparametri sekä funktio ja proseduuri? Mitä tarkoitetaan metodilla?

2. Muistipaikat 100-200 sisältävät kukin edeltävän paikan osoitteen (osoitteessa 200 on 199, 199:ssä 198 jne.). Mitä saavat aikaiseksi seuraavat peräkkäiset käskyt?

    LOAD R2,@150 
    LOAD R3,10(R2) 
    LOAD R2,@10(R2)  

3. Kirjoita alla olevat lauseet TTK-91:n symbolisella konekielellä. Muista koodata myös staattiseen tilanvaraukseen tarvittavat kääntäjän ohjauskäskyt.

         int lkm = 77; 
         int Summa, i, j; 
         int Taulu[lkm]; 

         if (i > j) i = -1 else  i = 54321; 

         Summa = 0; 
         for (i = lkm/2; i > 0; i--)   Summa = Summa + Taulu[i]; 

         Summa = 0; 
         do {  Summa = Summa +360} 
               while (Summa >= j); 

4. Laadi TTK-91:n symbolisella konekielellä pääohjelma ja aliohjelma Vaihda, joka vaihtaa parametriensa X ja Y arvon:

   
                   APU = X; 
                   X =  Y; 
                   Y =  APU; 
Välitä parametrit aktivointitietueessa. Piirrä myös kuva pinosta.

5. Tee TTK-91:n symbolisella konekielellä aliohjelma Kopioi, joka kopioi muistialueelta Lahde muistialueelle Kohde n:n muistipaikan sisällön. Välitä parametrit Lahde, Kohde ja n pinossa. Laadi lisäksi pääohjelma, joka kopioi sadan muistipaikan sisällön muistialueelta Vanha alueelle Uusi.

6. Laadi symbolisella konekielellä aliohjelma random, joka täyttää parametrina annetun taulukon satunnaisilla luvuilla väliltä 1-n. Molemmat parametrit taulukon osoite ja n annetaan pinossa. Käytä satunnaislukujen muodostamiseen apuna TTK91:n käskyä SVC SP, =TIME, joka kertoo ajan tunteina, minuutteina ja sekunteina. Laadi myös pääohjelma, joka kutsuu aliohjelmaa täyttämään seitsemänalkioisen lottotaulukon numeroilla 1-39.