source:
liacs/coco/tests/optimize/register.p0@
153
Last change on this file since 153 was 2, checked in by , 15 years ago | |
---|---|
File size: 1.7 KB |
Rev | Line | |
---|---|---|
[2] | 1 | { De procedure foo is een leaf-functie, alle lokale parameters kunnen daarom |
2 | in registers worden gestopt. Vanwege de vrij korte levensduur van de meeste | |
3 | hoeven dit niet eens veel registers te zijn. Dit is echter een pittige | |
4 | optimalisatie, verspil dus niet te veel tijd hierop } | |
5 | program register; | |
6 | ||
7 | ||
8 | function sum(a,b : integer) : integer; | |
9 | begin | |
10 | sum := a + b | |
11 | end; | |
12 | ||
13 | procedure foo; | |
14 | var | |
15 | totaal,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z : integer; | |
16 | begin | |
17 | totaal := sum(0,0); | |
18 | a := 1; | |
19 | totaal := sum(totaal,a); | |
20 | b := 2; | |
21 | totaal := sum(totaal,b); | |
22 | c := 3; | |
23 | totaal := sum(totaal,c); | |
24 | d := 4; | |
25 | totaal := sum(totaal,d); | |
26 | e := 5; | |
27 | totaal := sum(totaal,e); | |
28 | f := 6; | |
29 | totaal := sum(totaal,f); | |
30 | g := 7; | |
31 | totaal := sum(totaal,g); | |
32 | h := 8; | |
33 | totaal := sum(totaal,h); | |
34 | i := 9; | |
35 | totaal := sum(totaal,i); | |
36 | j := 10; | |
37 | totaal := sum(totaal,j); | |
38 | k := 12; | |
39 | totaal := sum(totaal,k); | |
40 | l := 14; | |
41 | totaal := sum(totaal,l); | |
42 | m := 16; | |
43 | totaal := sum(totaal,m); | |
44 | n := 18; | |
45 | totaal := sum(totaal,n); | |
46 | o := 22; | |
47 | totaal := sum(totaal,o); | |
48 | p := 23; | |
49 | totaal := sum(totaal,p); | |
50 | q := 24; | |
51 | totaal := sum(totaal,q); | |
52 | r := 25; | |
53 | totaal := sum(totaal,r); | |
54 | s := 26; | |
55 | totaal := sum(totaal,s); | |
56 | t := 27; | |
57 | totaal := sum(totaal,t); | |
58 | u := 28; | |
59 | totaal := sum(totaal,u); | |
60 | v := 29; | |
61 | totaal := sum(totaal,v); | |
62 | w := 30; | |
63 | totaal := sum(totaal,w); | |
64 | x := 40; | |
65 | totaal := sum(totaal,x); | |
66 | y := 42; | |
67 | totaal := sum(totaal,y); | |
68 | z := 44; | |
69 | totaal := sum(totaal,z); | |
70 | totaal := sum(totaal,a); | |
71 | totaal := sum(totaal,k); | |
72 | ||
73 | writeinteger(totaal) | |
74 | end; | |
75 | ||
76 | begin | |
77 | foo | |
78 | end. |
Note:
See TracBrowser
for help on using the repository browser.