INF2270 Oppgaver uke 13 (23.-27.3.2009) Oppgave 1 Skriv funksjonen float favg3 (float a, float b, float c) i b?de C og x86-assembler. Funksjonen skal beregne gjennomsnittet av de tre flyt-tallene. Oppgave 2 Vi skal lagre 1 000 000 data som kan ha verdi 0 eller 1; da er det nok med ett bit per dataelement. For ? spare plass vil vi pakke data i en int-array: unsigned int data[31250]; /* 31250*32 = 1000000 */ Skriv disse to funksjonene i x86-assembler: void setdata(int ix, int v) int getdata(int ix) som henholdsvis lagrer og henter et dataelement. Vi regner med at vi kun har ¨Śn data-array s? den trenger vi ikke overf?re. Her f?lger noen oppgaver fra tidligere eksamener i dette emnet eller dets forgjengere. Link til disse eksamensoppgavene finner man p? emnets hjemmeside http://www.uio.no/studier/emner/matnat/ifi/INF2270/v09/ Oppgave 4c fra eksamen 2006 i INF1070. Oppgave 4d fra eksamen 2005 i INF1070. Oppgave 2 fra eksamen 2004 i INF103, men man skal selvf?lgelig oversette til x86-kode. Hint: Husk at n?r man overf?rer en vektor (?array?) som parameter, sender man bare startadressen. Hint: Legg merke til at funksjonen bruker datatypen 'short' som er 2 byte (= 16 bit) lang.