Keskustelu käydään CSMoodlen opintopiirikohtaisessa keskusteluryhmässä. Tämä keskusteluryhmä on tarkoitettu ainoastaan keskustelutehtävän keskusteluun. Keskusteluun voivat osallistua vain opintopiirin jäsenet ja se näkyy vain tälle opintopiirille. Tämä keskustelu arvioidaan 27.11.2005 klo 23:55 mennessä käydyn keskustelun perusteella.
Discussion is taking place in the private Study Circle discussion room. This discussion room is intended only to discuss this specific problem. Discussion is open only to the Study Circle members. This discussion is evaluated based on comments given by 27.11.2005 at 23:55.
Ttk-91 koneen konekäskyn osoiteosa on vain 16-bittinen. Tämä asettaa rajoituksia käskyssä olevien vakioiden koolle.
Mikä on suurin positiivinen luku, joka voidaan esittää käskyssä vakiona? Miten tulee toimia, jos tarvitaankin suurempaa vakiota? Esimerkiksi lukua 6543210?
Mikä on pienin negatiivinen luku, joka voidaan esittää käskyssä vakiona?
Entä miten tulisi menetellä, jos tarvitaan suurta vakiota indeksoidun osoitusmoodin kanssa? Esimerkiksi, jos halutaan lukea data osoitteesta (R1)+666666?
Kuka päättää, missä C-kielisessä olevassa ohjelmassa oleva vakio (esim. luku 7 lauseessa X += 7; ) sijoitetaan suoritusaikana? Mitä etu/haittaa tästä on?
The address field of ttk-91 machine instruction has only 16 bits. This limits the size of constants used in instructions.
What is the largest positive number that can be given as constant in an instruction? What should be done, if a larger constant is needed? For eaxmple, number 6543210?
What is the smallest negative number that can be given as constant in an instruction?
And what should you do, if you need a large constant with indexed address mode? For example, you need to read the value from (R1)+666666?
Who decides, where a constant (e.g., number 7 in statement X += 7;) in a C-program is located at execution time? What advantages/disadvantages this causes?