program rectest; type irec=record e2,e1:integer; e3:integer; e4:integer end; irecptr=^irec; crec=packed record a,b:char; d:char; c:char end; crecptr=^crec; iptr=^integer; var rec1:irecptr; rec2:crecptr; one,two,three,four:iptr; ab,cd:iptr; off,ss:integer; begin rewrite(output,'rectest.dat'); new(rec1); rec1^.e1:=1; rec1^.e2:=2; rec1^.e3:=3; rec1^.e4:=4; loadadr(rec1^); storexpr(off); storexpr(ss); one:=makeptr(ss,off,iptr); writeln('one =',one^); two:=makeptr(ss,off+1,iptr); writeln('two =',two^); three:=makeptr(ss,off+2,iptr); writeln('three =',three^); four:=makeptr(ss,off+3,iptr); writeln('four =',four^); new(rec2); rec2^.a:='a'; rec2^.b:='b'; rec2^.c:='c'; rec2^.d:='d'; loadadr(rec2^); storexpr(off); storexpr(ss); ab:=makeptr(ss,off,iptr); writeln('ab =',ab^:4:-16); cd:=makeptr(ss,off+1,iptr); writeln('cd =',cd^:4:-16); close(output); end.