182
1 SOCS Hoofdstuk 1 Computerarchitect uur

SOCS

Embed Size (px)

DESCRIPTION

SOCS. Hoofdstuk 1 Computerarchitectuur. Overzicht. Uitbreiding C Functies Functies in DRAMA. C. Overzicht. Eenvoudig C Arrays Functies Basisfaciliteiten Parameterbinding Recursie Procedures Arrays en parameters Records Dynamische gegevenstructuren. int a, r; - PowerPoint PPT Presentation

Citation preview

Page 1: SOCS

1

SOCS

Hoofdstuk 1

Computerarchitectuur

Page 2: SOCS

2

Overzicht

Uitbreiding C Functies

Functies in DRAMA

Page 3: SOCS

3

Overzicht

Eenvoudig C Arrays Functies

Basisfaciliteiten Parameterbinding Recursie Procedures Arrays en parameters

Records Dynamische gegevenstructuren

CC

Page 4: SOCS

4

Type ResultaatBasisfaciliteiten

int a, r;int a, r;intint machtmacht ( (int grondtalint grondtal, ,

int exponentint exponent ) ) {{ int r, iint r, i;;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r)return(r);;

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(printint(a, macht(2, a2, a));));

printint(printint(machtmacht(a-r, 2*r), r);(a-r, 2*r), r);

}}

CC

FormeleParameters

Lokale variabelen

Resultaatv/d functie

Functie-oproep

ActueleParameters

Globale variabelen

Functienaam

Page 5: SOCS

5

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

4 14 1InvoerInvoer

UitvoerUitvoer

Page 6: SOCS

6

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

4 14 1InvoerInvoer

UitvoerUitvoer

aa

rr

GlobaalGlobaal

Page 7: SOCS

7

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

4 14 1InvoerInvoer

UitvoerUitvoer

aa

rr

GlobaalGlobaal

Page 8: SOCS

8

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

11InvoerInvoer

UitvoerUitvoer

44aa

rr

GlobaalGlobaal

Page 9: SOCS

9

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printintprintint((aa, macht(2, a));, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

Page 10: SOCS

10

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

4 4

UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

Page 11: SOCS

11

Basisfaciliteiten

int a, r;int a, r;int int macht (int grondtal, macht (int grondtal,

int exponent )int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal machtmacht

22grondtalgrondtal

44exponentexponent

Page 12: SOCS

12

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

rr

ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 13: SOCS

13

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1r = 1;;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

rr

ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 14: SOCS

14

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( for( i=1i=1; i<= exponent; i++); i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

11rr

ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 15: SOCS

15

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

1 1 rr

1 1 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 16: SOCS

16

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

1 1 rr

1 1 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 17: SOCS

17

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; for( i=1; i<= exponent; i++i++))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

2 2 rr

1 1 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 18: SOCS

18

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

2 2 rr

2 2 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 19: SOCS

19

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

2 2 rr

2 2 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 20: SOCS

20

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; for( i=1; i<= exponent; i++i++))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

4 4 rr

2 2 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 21: SOCS

21

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

4 4 rr

3 3 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 22: SOCS

22

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

4 4 rr

3 3 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 23: SOCS

23

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; for( i=1; i<= exponent; i++i++))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

8 8 rr

3 3 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 24: SOCS

24

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

8 8 rr

4 4 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 25: SOCS

25

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

8 8 rr

4 4 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 26: SOCS

26

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; for( i=1; i<= exponent; i++i++))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

16 16 rr

4 4 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 27: SOCS

27

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

16 16 rr

5 5 ii

machtmacht

22grondtalgrondtal

44exponentexponent

Page 28: SOCS

28

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

16 16 rr

5 5 ii

machtmacht

22grondtalgrondtal

44exponentexponent

1616

Page 29: SOCS

29

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

1616

Page 30: SOCS

30

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printintprintint(a, (a, macht(2, a))macht(2, a));;

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

44UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

1616

Page 31: SOCS

31

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

Page 32: SOCS

32

Basisfaciliteiten

int a, r;int a, r;int int macht (int grondtal, macht (int grondtal,

int exponent )int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal machtmacht

33grondtalgrondtal

22exponentexponent

Page 33: SOCS

33

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

rr

ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 34: SOCS

34

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

rr

ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 35: SOCS

35

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( for( i=1i=1; i<= exponent; i++); i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

11rr

ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 36: SOCS

36

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

11rr

11ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 37: SOCS

37

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

11rr

11ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 38: SOCS

38

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; for( i=1; i<= exponent; i++i++))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

33rr

11ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 39: SOCS

39

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

33rr

22ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 40: SOCS

40

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

33rr

22ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 41: SOCS

41

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; for( i=1; i<= exponent; i++i++))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

99rr

22ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 42: SOCS

42

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; for( i=1; i<= exponenti<= exponent; i++); i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

99rr

33ii

machtmacht

33grondtalgrondtal

22exponentexponent

Page 43: SOCS

43

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

99rr

33ii

machtmacht

33grondtalgrondtal

22exponentexponent

99

Page 44: SOCS

44

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

99

Page 45: SOCS

45

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printintprintint((macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer

16 416 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

99

Page 46: SOCS

46

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printintprintint(macht(a-r, 2*r), (macht(a-r, 2*r), rr););

}}

CC

InvoerInvoer

9 16 49 16 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

Page 47: SOCS

47

Basisfaciliteiten

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r, i;int r, i;

r = 1;r = 1;for( i=1; i<= exponent; i++)for( i=1; i<= exponent; i++)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer

1 9 16 41 9 16 4UitvoerUitvoer

44aa

11rr

GlobaalGlobaal

Page 48: SOCS

48

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (while (exponent--exponent-- > 0) > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, printint(a, macht(2, aa));));

printint(macht(a-r, printint(macht(a-r, 2*r2*r), r);), r);

}}

CC

Waarde parameters lokale variabele

Page 49: SOCS

49

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

UitvoerUitvoer

4 14 1InvoerInvoer aa

rr

GlobaalGlobaal

Page 50: SOCS

50

Parameterbinding

int a, r;int a, r;int int macht (int grondtal, macht (int grondtal,

int exponent )int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal machtmacht

22grondtalgrondtal

44exponentexponent

Page 51: SOCS

51

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

rr

machtmacht

22grondtalgrondtal

44exponentexponent

Page 52: SOCS

52

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

rr

machtmacht

22grondtalgrondtal

44exponentexponent

Page 53: SOCS

53

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (while (exponentexponent---- > 0 > 0))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

1 1 rr

machtmacht

22grondtalgrondtal

44exponentexponent

Page 54: SOCS

54

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponentwhile (exponent---- > 0) > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

1 1 rr

machtmacht

22grondtalgrondtal

44exponentexponent

Page 55: SOCS

55

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtalr = r * grondtal;;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

1 1 rr

machtmacht

22grondtalgrondtal

33exponentexponent

Page 56: SOCS

56

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (while (exponentexponent-- -- > 0> 0))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

2 2 rr

machtmacht

22grondtalgrondtal

33exponentexponent

Page 57: SOCS

57

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponentwhile (exponent---- > 0) > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

2 2 rr

machtmacht

22grondtalgrondtal

33exponentexponent

Page 58: SOCS

58

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtalr = r * grondtal;;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

2 2 rr

machtmacht

22grondtalgrondtal

22exponentexponent

Page 59: SOCS

59

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (while (exponentexponent---- > 0 > 0))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

4 4 rr

machtmacht

22grondtalgrondtal

22exponentexponent

Page 60: SOCS

60

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponentwhile (exponent---- > 0) > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

4 4 rr

machtmacht

22grondtalgrondtal

22exponentexponent

Page 61: SOCS

61

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtalr = r * grondtal;;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

4 4 rr

machtmacht

22grondtalgrondtal

11exponentexponent

Page 62: SOCS

62

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (while (exponentexponent---- > 0 > 0))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

8 8 rr

machtmacht

22grondtalgrondtal

11exponentexponent

Page 63: SOCS

63

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponentwhile (exponent---- > 0) > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

8 8 rr

machtmacht

22grondtalgrondtal

11exponentexponent

Page 64: SOCS

64

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtalr = r * grondtal;;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

8 8 rr

machtmacht

22grondtalgrondtal

00exponentexponent

Page 65: SOCS

65

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (while (exponentexponent-- -- > 0> 0))

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

16 16 rr

machtmacht

22grondtalgrondtal

00exponentexponent

Page 66: SOCS

66

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponentwhile (exponent---- > 0) > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, printint(a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

16 16 rr

machtmacht

22grondtalgrondtal

00exponentexponent

Page 67: SOCS

67

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printintprintint(a, (a, macht(2, a)macht(2, a)););

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

44UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

1616rr

machtmacht

22grondtalgrondtal

-1-1exponentexponent

1616

Page 68: SOCS

68

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

16 416 4UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

Page 69: SOCS

69

Parameterbinding

int a, r;int a, r;int int macht (int grondtal, macht (int grondtal,

int exponent )int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

16 416 4UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal machtmacht

33grondtalgrondtal

22exponentexponent

Page 70: SOCS

70

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

16 416 4UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

rr

machtmacht

33grondtalgrondtal

22exponentexponent

Page 71: SOCS

71

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtalr = r * grondtal;;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(printint(macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

16 416 4UitvoerUitvoer

InvoerInvoer 44aa

11rr

GlobaalGlobaal

rr

machtmacht

33grondtalgrondtal

22exponentexponent

Page 72: SOCS

72

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printintprintint((macht(a-r, 2*r)macht(a-r, 2*r), r);, r);

}}

CC

InvoerInvoer 44aa

11rr

GlobaalGlobaal

99rr

machtmacht

33grondtalgrondtal

-1-1exponentexponent

16 416 4UitvoerUitvoer 99

Page 73: SOCS

73

Parameterbinding

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ int r;int r;

r = 1;r = 1;while (exponent-- > 0)while (exponent-- > 0)

r = r * grondtal;r = r * grondtal;return(r);return(r);

}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

InvoerInvoer 44aa

11rr

GlobaalGlobaal

1 9 16 41 9 16 4UitvoerUitvoer

Page 74: SOCS

74

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * machtmacht (grondtal, (grondtal,

exponent-1));exponent-1));}}

main()main()

{{

a = getint();a = getint();

r = getint();r = getint();

printint(a, macht(2, a));printint(a, macht(2, a));

printint(macht(a-r, 2*r), r);printint(macht(a-r, 2*r), r);

}}

CC

Recursieve oproep

Page 75: SOCS

75

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

Page 76: SOCS

76

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2)

Page 77: SOCS

77

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

Page 78: SOCS

78

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0)

Page 79: SOCS

79

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0)

Page 80: SOCS

80

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0) 1

Page 81: SOCS

81

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0) 11

= 2

Page 82: SOCS

82

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0) 11

= 22

= 4

Page 83: SOCS

83

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0) 11

= 22

= 44

= 8

Page 84: SOCS

84

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0) 11

= 22

= 44

= 88

= 16

Page 85: SOCS

85

Recursie

int a, r;int a, r;int macht (int grondtal, int macht (int grondtal,

int exponent ) int exponent ) {{ if (exponent == 0)if (exponent == 0)

return (1);return (1);return(grondtal *return(grondtal * macht (grondtal, macht (grondtal,

exponent-1));exponent-1));}}

CCmacht (2, 4) 2 * macht(2, 3)

2 * macht(2,2) 2 * macht(2,1)

2 * macht(2,0) 11

= 22

= 44

= 88

= 1616

Page 86: SOCS

86

Procedures (= functies zonder resultaat)

voidvoid printint (int w) printint (int w)

{{

......

}}

Merk op:Merk op:

Indien meerdere resultaten:Indien meerdere resultaten: Functie niet geschiktFunctie niet geschikt Adres van Adres van

resultaatvariabele(n) resultaatvariabele(n) doorgeven als doorgeven als parameter(s)parameter(s)

CC

Page 87: SOCS

87

Procedures

Voorbeeld: Procedure met twee invoer-parameters Resultaat:

Som van kwadraten Verschil van kwadraten

CC

Page 88: SOCS

88

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *somint *som, ,

int int *verschil*verschil))

{{int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;h2 = b * b;h2 = b * b;*som*som = h1 + h2; = h1 + h2;*verschil*verschil = h1 - h2; = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, kwadraat(x, y+1, &z&z, , &t&t););

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

Page 89: SOCS

89

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

5 25 2InvoerInvoer

xx

yy

GlobaalGlobaal

zz

tt

Page 90: SOCS

90

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

5 5 xx

2 2 yy

GlobaalGlobaal

zz

tt

Page 91: SOCS

91

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

55xx

22yy

Glo

baal

Glo

baal zz

tt

kwadraatkwadraat

5 5 aa

3 3 bb

somsom

verschilverschil

Page 92: SOCS

92

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

55xx

22yy

Glo

baal

Glo

baal zz

tt

5 5 aa

3 3 bb

kwadraatkwadraat

somsom

verschilverschil

h1h1

h2h2

Lokalevariabelen

Page 93: SOCS

93

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

55xx

22yy

Glo

baal

Glo

baal5 5 aa

3 3 bb

kwadraatkwadraat

somsom

verschilverschil

zz

tt

25 25 h1h1

9 9 h2h2

Page 94: SOCS

94

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

55xx

22yy

Glo

baal

Glo

baal5 5 aa

3 3 bb

kwadraatkwadraat

somsom

verschilverschil

34 34 zz

tt

25 25 h1h1

9 9 h2h2

Page 95: SOCS

95

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

55xx

22yy

Glo

baal

Glo

baal5 5 aa

3 3 bb

kwadraatkwadraat

somsom

verschilverschil

34 34 zz

16 16 tt

25 25 h1h1

9 9 h2h2

Page 96: SOCS

96

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

55xx

22yy

Glo

baal

Glo

baal34 34 zz

16 16 tt16 34 2 516 34 2 5UitvoerUitvoer

Page 97: SOCS

97

Procedures

void kwadraat( int a, int b, void kwadraat( int a, int b, int *som, int *som,

int *verschil)int *verschil)

{{

int h1, h2;int h1, h2;

h1 = a * a;h1 = a * a;

h2 = b * b;h2 = b * b;

*som = h1 + h2;*som = h1 + h2;

*verschil = h1 - h2;*verschil = h1 - h2;

}}

int x, y, z, t;int x, y, z, t;

main ()main ()

{{

x = getint();x = getint();

y = getint();y = getint();

kwadraat(x, y+1, &z, &t);kwadraat(x, y+1, &z, &t);

printint (x, y, z, t);printint (x, y, z, t);

}}

CC

InvoerInvoer

55xx

22yy

Glo

baal

Glo

baal34 34 zz

16 16 tt16 34 2 516 34 2 5UitvoerUitvoer

Page 98: SOCS

98

Overzicht

Eenvoudig C Arrays Functies

Basisfaciliteiten Parameterbinding Recursie Procedures Arrays en parameters

Records Dynamische gegevenstructuren

CC

Page 99: SOCS

99

Arrays als parameter

int somtabel( int somtabel( int t[20]int t[20], int n), int n)

{{

int i, som;int i, som;

som = 0;som = 0;

for( i=0; i<n; i++)for( i=0; i<n; i++)

som += som += t[i]t[i];;

return(som);return(som);

}}

int a[20] = {1,2,3,...,20};int a[20] = {1,2,3,...,20};

main ()main ()

{{

printint(somtabel(printint(somtabel(aa,20));,20));

}}

CC

Page 100: SOCS

100

Arrays als parameter

int somtabel( int somtabel( int t[ ]int t[ ], int n), int n)

{{

int i, som;int i, som;

som = 0;som = 0;

for( i=0; i<n; i++)for( i=0; i<n; i++)

som += t[i];som += t[i];

return(som);return(som);

}}

int a[20] = {1,2,3,...,20};int a[20] = {1,2,3,...,20};

main ()main ()

{{

printint(somtabel(printint(somtabel(aa,20));,20));

}}

CC

Dimensies niet nodig

Page 101: SOCS

101

Arrays als parameter

int somtabel( int somtabel( int *tint *t, int n), int n)

{{

int i, som;int i, som;

som = 0;som = 0;

for( i=0; i<n; i++)for( i=0; i<n; i++)

som += som += *t++*t++;;

return(som);return(som);

}}

int a[20] = {1,2,3,...,20};int a[20] = {1,2,3,...,20};

main ()main ()

{{

printint(somtabel(printint(somtabel(aa,20));,20));

}}

CC

a is synoniem voor &a[0]

Page 102: SOCS

102

Arrays als parameter

int somtabel( int somtabel( int *tint *t, int n), int n)

{{

int i, som;int i, som;

som = 0;som = 0;

for( i=0; i<n; i++)for( i=0; i<n; i++)

som += som += t[i]t[i];;

return(som);return(som);

}}

int a[20] = {1,2,3,...,20};int a[20] = {1,2,3,...,20};

main ()main ()

{{

printint(somtabel(printint(somtabel(aa,20));,20));

}}

CC

t[i] is synoniem voor *(t+i)

Page 103: SOCS

103

Functies in DRAMA

Werken met een Stapel Oproepen van Procedure Lokale variabelen (Eenvoudige) Parameters

Page 104: SOCS

104

Werken met een Stapel

Dynamische gegevensstructuur LIFO (Last In First Out) Twee bewerkingen

push nieuw element op de top v/d stapel pop top v/d stapel wordt verwijderd

Page 105: SOCS

105

Werken met een Stapel

(lege stapel)(lege stapel)

push(123)push(123)

Page 106: SOCS

106

Werken met een Stapel

push(20)push(20)

123123

Page 107: SOCS

107

Werken met een Stapel

push(-43)push(-43)

123123

2020

Page 108: SOCS

108

Werken met een Stapel

123123

2020

-43-43

pop( )pop( )

Page 109: SOCS

109

Werken met een Stapel

123123

2020

-43 -43 pop( )pop( )

Page 110: SOCS

110

Werken met een Stapel

123123

20 20 push(18)push(18)

Page 111: SOCS

111

Werken met een Stapel

123123

1818

pop( )pop( )

Page 112: SOCS

112

Werken met een Stapel

123123

pop( )pop( )18 18

Page 113: SOCS

113

Werken met een Stapel

(lege stapel)(lege stapel)

123 123

Page 114: SOCS

114

Stapel in DRAMA

In geheugen bewaard Groeit naar boven (= kleinere adressen) vanaf 8999

Stapelwijzer (SW) Bevat het adres van het topelement = R9

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

7299999999

3221000002

9999999999

9999999957

0000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel123123

2020

-43-43

0000008997R9R9

Page 115: SOCS

115

DRAMA: Bevelenset

Stapelbevelen

BSTBST = Berg op Stapel (“push”) BSTBST R7R7 | Berg inhoud R7 op top van

stapel| SW SW - 1| GeheugenReg[SW % 10000] R7

HSTHST = Haal van Stapel (“pop”) HSTHST RR66 | Haal top van stapel en berg in

R6| R6 GeheugenReg[SW % 10000] | SW SW + 1

Page 116: SOCS

116

Stapelbevelen

Stapelbevelen zijn geen machine-instructies HST R6 HIA R6,0(R9+)

BST R6 BIG R6,0(-R9)

Alternatieve schrijfwijze

Page 117: SOCS

117…

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

7299999999

3221000002

9999999999

9999999957

0000000020

0000000123

0000000004

89998999

90009000

Stapel in DRAMA

stap

elst

apel

123123

2020

-43-43

0000008997R9R9

0000000200R3R3

9999999999R2R2

0000000100R1R1BST R1

Page 118: SOCS

118

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

72999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000008996R9R9

0000000200R3R3

9999999999R2R2

0000000100R1R1BST R1

BST R2

123123

2020

-43-43

100100

Page 119: SOCS

119

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000008995R9R9

0000000200R3R3

9999999999R2R2

0000000100R1R1BST R1

BST R2

HIA R1,R3

123123

2020

-43-43

100100

-1-1

Page 120: SOCS

120

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000008995R9R9

0000000200R3R3

9999999999R2R2

0000000200R1R1BST R1

BST R2

OPT R2,R1

HIA R1,R3

123123

2020

-43-43

100100

-1-1

Page 121: SOCS

121

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000008995R9R9

0000000200R3R3

0000000199R2R2

0000000200R1R1BST R1

BST R2

HST R2

OPT R2,R1

HIA R1,R3

123123

2020

-43-43

100100

-1-1

Page 122: SOCS

122

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000008996R9R9

0000000200R3R3

9999999999R2R2

0000000200R1R1BST R1

BST R2

HST R2

HST R1

OPT R2,R1

HIA R1,R3

123123

2020

-43-43

100100

Page 123: SOCS

123

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000008997R9R9

0000000200R3R3

9999999999R2R2

0000000100R1R1BST R1

BST R2

HST R2

HST R1

HST R3

OPT R2,R1

HIA R1,R3

123123

2020

-43-43

Toestand bewaren enToestand bewaren enlater herstellenlater herstellen

Page 124: SOCS

124

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000008998R9R9

9999999957R3R3

9999999999R2R2

0000000100R1R1BST R1

BST R2

HST R2

HST R1

HST R3

OPT R2,R1

HIA R1,R3

OPT.w R9,2

123123

2020

Page 125: SOCS

125

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

0000009000R9R9

9999999957R3R3

9999999999R2R2

0000000100R1R1BST R1

BST R2

HST R2

HST R1

HST R3

OPT R2,R1

HIA R1,R3

OPT.w R9,2

AFT.w R9,3

Elementen van Elementen van

stapel halenstapel halen

Page 126: SOCS

126

Stapel in DRAMA

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

99999999993221000002

0000000100

99999999570000000020

0000000123

0000000004

89998999

90009000

stap

elst

apel

123123

2020

0000008997R9R9

9999999957R3R3

9999999999R2R2

0000000100R1R1BST R1

BST R2

HST R2

HST R1

HST R3

OPT R2,R1

HIA R1,R3

OPT.w R9,2

AFT.w R9,3

-43-43

Plaats op Plaats op stapel voorzienstapel voorzien

Page 127: SOCS

127

Stapel in DRAMA

int a, b, c;

main() {

...

c = a*a + b*b;

...

}

| a, b en c in geheugen

| alleen register R4 mag

| gebruikt worden

main: …

Page 128: SOCS

128

Stapel in DRAMA

int a, b, c;

main() {

...

c = a*a + b*b;

...

}

| a, b en c in geheugen

| alleen register R4 mag

| gebruikt worden

main: …HIA R4,a | R4a

VER R4,R4 | R4a*a

Page 129: SOCS

129

Stapel in DRAMA

int a, b, c;

main() {

...

c = a*a + b*b;

...

}

| a, b en c in geheugen

| alleen register R4 mag

| gebruikt worden

main: …

HIA R4,a | R4a

VER R4,R4 | R4a*aBST R4

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

72999999993221000002

9999999999

99999999570000000020

0000000123

0000000004

89998999

90009000

R9R9

Page 130: SOCS

130

Stapel in DRAMA

int a, b, c;

main() {

...

c = a*a + b*b;

...

}

| a, b en c in geheugen

| alleen register R4 mag

| gebruikt worden

main: …

HIA R4,a | R4a

VER R4,R4 | R4a*a

BST R4HIA R4,b | R4b

VER R4,R4 | R4b*bR9R9

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

72999999993221000002

a*a

99999999570000000020

0000000123

0000000004

89998999

90009000

Page 131: SOCS

131

Stapel in DRAMA

int a, b, c;

main() {

...

c = a*a + b*b;

...

}

| a, b en c in geheugen

| alleen register R4 mag

| gebruikt worden

main: …

HIA R4,a | R4a

VER R4,R4 | R4a*a

BST R4

HIA R4,b | R4b

VER R4,R4 | R4b*bOPT R4,0(R9+)

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

72999999993221000002

a*a

99999999570000000020

0000000123

0000000004

89998999

90009000

R9R9

R4 R4 + pop( )

Page 132: SOCS

132

Stapel in DRAMA

int a, b, c;

main() {

...

c = a*a + b*b;

...

}

| a, b en c in geheugen

| alleen register R4 mag

| gebruikt worden

main: …

HIA R4,a | R4a

VER R4,R4 | R4a*a

BST R4

HIA R4,b | R4b

VER R4,R4 | R4b*b

OPT R4,0(R9+)

BIG R4,c |ca*a+b*b

89938993

89948994

89958995

89968996

89978997

89988998

2111100001

72999999993221000002

a*a

99999999570000000020

0000000123

0000000004

89998999

90009000

R9R9

Page 133: SOCS

133

Functies in DRAMA

Werken met een Stapel Oproepen van Procedure Lokale variabelen (Eenvoudige) Parameters

Page 134: SOCS

134

Oproep & Terugkeer van Functie

int a, ma;int a, ma;main()main()

{{……ma =ma = macht(a,10); macht(a,10);printint (a, ma);printint (a, ma);……mb =mb = macht(b, 5); macht(b, 5);printint (b, mb);printint (b, mb);……

}}

int macht int macht (int getal, int exp) (int getal, int exp)

{{int i, r;int i, r;

……

return (r);return (r);

}}

Page 135: SOCS

135

Oproep & Terugkeer van Functie

Met sprongbevelen

193193

194194

195195

196196

197197

198198

……

199199

200200

functiefunctie

5050

5151

5252

5353

8484

8585

…8686

8787

SPR 193SPR 193

functieoproep

SPR 193SPR 193 SPR 52SPR 52

terugkeer

??????

Page 136: SOCS

136

Oproep & Terugkeer van Functie

Met sprongbevelen

193193

194194

195195

196196

197197

198198

……

199199

200200

functiefunctie

5050

5151

5252

5353

8484

8585

…8686

8787

SPR 193SPR 193

SPR 193SPR 193 SPR 0(R7)SPR 0(R7)

HIA.a R7,52HIA.a R7,52

HIA.a R7,86HIA.a R7,86

TerugkeeradresTerugkeeradresIn R7In R7

functieoproep

terugkeer

Page 137: SOCS

137

Oproep & Terugkeer van Functie

Nadelen:

2 bevelen voor oproep

Extra symbolisch adres

HIA.a R7,adres

SPR funcadres: …

Acc voor terugkeeradres (Genestelde oproepen!)

func:…HIA

R7,terugSPR 0(R7)

terug: RESGR 1

Werkt niet voor recursieve oproepen

func: BST R7…HST R7SPR 0(R7)

BIG R7,terug

Page 138: SOCS

138

DRAMA: Bevelenset

Nieuwe bevelen

SBRSBR = Spring naar Subroutine SBRSBR 120120 | push(BT)

| BT = 120

KTGKTG = Keer Terug KTGKTG | BT = pop()

R9 R9 – 1geheugen[R9] = BT

BT geheugen[R9] % 10000R9 R9 + 1

Page 139: SOCS

139

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

Page 140: SOCS

140

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,a

Page 141: SOCS

141

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,a

LEZBIG R0,b

Page 142: SOCS

142

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,b

HIA R0,aSBR f

Page 143: SOCS

143

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR f

f: VER R0,R0KTG

Page 144: SOCS

144

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR f

f: VER R0,R0KTG

OPT R0,b

Page 145: SOCS

145

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,b

f: VER R0,R0KTG

DRU

Page 146: SOCS

146

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRU

f: VER R0,R0KTG

STP

Page 147: SOCS

147

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

Page 148: SOCS

148

Voorbeeld

int a, b;

main() {

a = getint();

b = getint();

printint (f(a) + b);

}

int f (int x)

{

return (x*x);

}

| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

Ophalen + AnalyserenOphalen + Analyseren

Uitvoeren Uitvoeren (effect op volgende slide)(effect op volgende slide)

Animatie:Animatie:

Page 149: SOCS

149

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

1234567890R0R0

5 35 3InvoerInvoer

00120012 0000000000

0000BTBT

00110011 0000000000

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 150: SOCS

150

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

1234567890R0R0

5 35 3InvoerInvoer

00120012 0000000000

0000BTBT

00110011 0000000000

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 151: SOCS

151

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

1234567890R0R0

5 35 3InvoerInvoer

00120012 0000000000

0001BTBT

00110011 0000000000

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 152: SOCS

152

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

33InvoerInvoer

00120012 0000000000

0001BTBT

00110011 0000000000

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 153: SOCS

153

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

33InvoerInvoer

00120012 0000000000

0001BTBT

00110011 0000000000

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 154: SOCS

154

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

33InvoerInvoer

00120012 0000000000

0002BTBT

00110011 0000000000

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 155: SOCS

155

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

33InvoerInvoer

00120012 0000000000

0002BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 156: SOCS

156

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

33InvoerInvoer

00120012 0000000000

0002BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 157: SOCS

157

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

33InvoerInvoer

00120012 0000000000

0003BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 158: SOCS

158

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000003R0R0

InvoerInvoer00120012 0000000000

0003BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 159: SOCS

159

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000003R0R0

InvoerInvoer00120012 0000000000

0003BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 160: SOCS

160

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000003R0R0

InvoerInvoer00120012 0000000000

0004BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 161: SOCS

161

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000003R0R0

InvoerInvoer00120012 0000000003

0004BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 162: SOCS

162

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000003R0R0

InvoerInvoer00120012 0000000003

0004BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 163: SOCS

163

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000003R0R0

InvoerInvoer00120012 0000000003

0005BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 164: SOCS

164

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

InvoerInvoer00120012 0000000003

0005BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 165: SOCS

165

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

InvoerInvoer00120012 0000000003

0005BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 166: SOCS

166

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

1234567890

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000005R0R0

InvoerInvoer00120012 0000000003

0006BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 167: SOCS

167

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000008999R9R9

0000000005R0R0

InvoerInvoer00120012 0000000003

0009BTBT

00110011 0000000005

660:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 168: SOCS

168

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000008999R9R9

0000000005R0R0

InvoerInvoer00120012 0000000003

0009BTBT

00110011 0000000005

660:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 169: SOCS

169

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000008999R9R9

0000000005R0R0

InvoerInvoer00120012 0000000003

0010BTBT

00110011 0000000005

660:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 170: SOCS

170

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000008999R9R9

0000000025R0R0

InvoerInvoer00120012 0000000003

0010BTBT

00110011 0000000005

660:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 171: SOCS

171

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000008999R9R9

0000000025R0R0

InvoerInvoer00120012 0000000003

0010BTBT

00110011 0000000005

660:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 172: SOCS

172

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000008999R9R9

0000000025R0R0

InvoerInvoer00120012 0000000003

0011BTBT

00110011 0000000005

660:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 173: SOCS

173

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000025R0R0

InvoerInvoer00120012 0000000003

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

0006BTBT

00110011 0000000005

Page 174: SOCS

174

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000025R0R0

InvoerInvoer00120012 0000000003

0006BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 175: SOCS

175

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000025R0R0

InvoerInvoer00120012 0000000003

0007BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 176: SOCS

176

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000028R0R0

InvoerInvoer00120012 0000000003

0007BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 177: SOCS

177

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000028R0R0

InvoerInvoer00120012 0000000003

0007BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 178: SOCS

178

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000028R0R0

UitvoerUitvoer00120012 0000000003

0008BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 179: SOCS

179

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000028R0R0

2828UitvoerUitvoer

00120012 0000000003

0008BTBT

00110011 0000000005

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 180: SOCS

180

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000028R0R0

00120012 0000000003

0008BTBT

00110011 0000000005

2828UitvoerUitvoer

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 181: SOCS

181

Voorbeeld| a en b in geheugen| parameter x via R0| resultaat van f in R0

LEZBIG R0,aLEZBIG R0,bHIA R0,aSBR fOPT R0,bDRUSTP

f: VER R0,R0KTG

a: RESGR 1b: RESGR 1

EINDPR

89938993

89948994

89958995

89968996

89978997

89988998

1234567890

12345678901234567890

1234567890

12345678901234567890

0000000006

1234567890

89998999

90009000

stap

elst

apel

0000009000R9R9

0000000028R0R0

00120012 0000000003

0009BTBT

00110011 0000000005

2828UitvoerUitvoer

0:0:1:1:2:2:3:3:4:4:5:5:6:6:7:7:8:8:9:9:

10:10:11:11:12:12:

Page 182: SOCS

182

Cursustekst

Hoofdstuk 1: pag. 87 pag. 102