File:  [CSRG BSD Unix] / 43BSDTahoe / lib / old_compiler / dbx / tests / mod / bitfields.mod
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 16:12:57 2018 UTC (8 years, 1 month ago) by root
Branches: MAIN, BSD
CVS tags: HEAD, BSD43tahoe
BSD 4.3tahoe

module main;

import io;

type
    uint = @align 1 cardinal;
    dotrecord = record
	cost : @size 24 uint;
	dtype : @size 3 uint;
	dirToCenter : @size 3 uint;
	pad : @size 1 uint;
	pin : @size 1 uint;
	traceback : @size 3 uint;
	traceforward : @size 3 uint;
	expanded : @size 1 uint;
	underDir : @size 3 uint;
	underOffset : @size 4 uint;
	start : @size 1 uint;
	target : @size 1 uint;
	owner : @size 6 uint;
	segment : @size 7 uint;
	intrinsicCost : @size 3 uint;
    end;

procedure p1 ();
var junk : dotrecord;
begin
    junk.owner := 63;
    junk.segment := 1;
    junk.intrinsicCost := 1;
    io.Writef(io.output, "owner = %d, segment = %d, intrinsicCost = %d\n",
	junk.owner, junk.segment, junk.intrinsicCost);
    p2();
end p1;

procedure p2 ();
var x : record
	first : integer;
	second : integer;
	a : @size 8 @align 1 integer;
	b : @size 8 @align 1 integer;
	c : integer;
    end;
begin
    x.first := 0;
    x.second := 0;
    x.a := 2;
    x.b := 10;
    x.c := 1;
    io.Writef(io.output, "done\n");
end p2;

begin
    p1();
end main.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.