|
|
1.1 root 1: module main;
2:
3: import io;
4:
5: type
6: uint = @align 1 cardinal;
7: dotrecord = record
8: cost : @size 24 uint;
9: dtype : @size 3 uint;
10: dirToCenter : @size 3 uint;
11: pad : @size 1 uint;
12: pin : @size 1 uint;
13: traceback : @size 3 uint;
14: traceforward : @size 3 uint;
15: expanded : @size 1 uint;
16: underDir : @size 3 uint;
17: underOffset : @size 4 uint;
18: start : @size 1 uint;
19: target : @size 1 uint;
20: owner : @size 6 uint;
21: segment : @size 7 uint;
22: intrinsicCost : @size 3 uint;
23: end;
24:
25: procedure p1 ();
26: var junk : dotrecord;
27: begin
28: junk.owner := 63;
29: junk.segment := 1;
30: junk.intrinsicCost := 1;
31: io.Writef(io.output, "owner = %d, segment = %d, intrinsicCost = %d\n",
32: junk.owner, junk.segment, junk.intrinsicCost);
33: p2();
34: end p1;
35:
36: procedure p2 ();
37: var x : record
38: first : integer;
39: second : integer;
40: a : @size 8 @align 1 integer;
41: b : @size 8 @align 1 integer;
42: c : integer;
43: end;
44: begin
45: x.first := 0;
46: x.second := 0;
47: x.a := 2;
48: x.b := 10;
49: x.c := 1;
50: io.Writef(io.output, "done\n");
51: end p2;
52:
53: begin
54: p1();
55: end main.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.