1
SOCS
Test 1
Vraag 1 – i
HIA.w R1,0 LUS: LEZ
BIG R0,A(R1) SPR SWITCH(+R1) SPR LUS
SWITCH: SPR.i IND SPR.i IND+1 STP
IND: 3 2 1
A: RESGR 10
R1 = 0 1 2
0:
1:
2:
3:
4:
5:
6:
7:
8:
9:
3
Vraag 1 – ii
R1 = 8 R1 = 9 Welke bevelen?
a) OPT R1,1
b) HIA R1,1(R1) c) OPT.a R1,1
d) HIA.w R1,2(-R1) e) HIA.w R1,0(R1+)
c & d.
R1 R1 + Geheugen[1]
R1 Geheugen[(R1 + 1) mod 10
4] R1 R1 + 1 = 9
R1 R1 – 1 = 7; R1 2 + R1 = 9 R1 R1 = 8 !!!
operand 8
R1 R1 + 1
R1 operand
Vraag 1 – iii
HIA R2,102(R1+) BIG.i R2,105
HST R0
OPT.i R0,0(R9+) BIG R0,100(+R1) 2222222222
R0
9999999999 R2
9999999999 R1
0000008998 R9
0000000104 0000000105 0000000101 0101
0102
0104
0000000102 0105
0000000100 0103
0000000100 8998
2222222222 R0
9999999999 R2
9999999999 R1
0000008998 R9
0000000104 0000000105 0000000101 0101
0102
0104
0000000102 0105
0000000100 0103
0000000100 8998
0000000104 0000000100
0000008999
0000000104 0000000204
0000009000 0000000000 0000000001
0000000204
5
Vraag 1 – iv
int * vakptr;
int vaknr[10];
int k;
vakptr = &vaknr[k];
vaknr[k+6] = *vakptr;
| k R1
| vakptr R2
| alleen R0 wijzigen
HIA.a R2,vaknr(R1) HIA R0,0(R2)
BIG R0,vaknr+6(R1)
geen .i omdat
wijzer in register!
constante (deel v/d) index:
adres + constante
Vraag 1 – v
/* Niet gelineariseerd */
int m[10][20];
int s,t;
void main() { ...
m[s+t-5][5*t-20*s] = getint();
...
}
/* gelineariseerd */
int M[…];
int s,t;
void main() { ...
int z = …;
M[z] = getint();
...
}
m[i][j] M[k]
k = 20 * i + j
Dus: z = 20 * (s+t-5) + (5*t – 20*s) = 25 * t – 100
Mogelijk waarden voor t? 0 z 199
Vraag 2
Hoofdprogramma + functies
Parameters en Lokale variabelen
int en int *
int [], int * [], int (*)[]
struct, struct *
struct [], struct * []
Resultaat
int, int *
void
GEEN struct
C Drama
Stappen:
Eerst AR tekenen
Daarna:
toekenningstabel opstellen
Ten slotte:
vertalen
Op elk onderdeel staan punten!
7
Te kennen leerstof voor test 1:
Hoofdstuk 1
p. 1 p. 196
Uitgezonderd:
1.10.6 Functieresultaat via de stapel
“Parameters voor het hoofdprogramma”
1.12.4 Record als resultaat
Test
2 vragen
1.
# kleinere vragen
Ev. meerkeuzevraag + verantwoording
Linearisatie
2.
C programma vertalen
Conventies!
Anders fout!
Gesloten boek
Formularium
Op 4 punten (2de test op 6 punten)
9