tprec19.pp 579 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. type
  2. pbyte = ^byte;
  3. tr = bitpacked record
  4. a,b,c: byte;
  5. d,e:0..15;
  6. f: byte;
  7. g: 0..$ffffff; { 3 bytes }
  8. h: byte;
  9. end;
  10. procedure p(b: pbyte);
  11. begin
  12. b^ := $12
  13. end;
  14. var
  15. r: tr;
  16. begin
  17. fillchar(r,sizeof(r),0);
  18. p(@r.a);
  19. if (r.a<>$12) then
  20. halt(1);
  21. fillchar(r,sizeof(r),0);
  22. p(@r.b);
  23. if (r.b<>$12) then
  24. halt(1);
  25. fillchar(r,sizeof(r),0);
  26. p(@r.c);
  27. if (r.c<>$12) then
  28. halt(1);
  29. fillchar(r,sizeof(r),0);
  30. p(@r.f);
  31. if (r.f<>$12) then
  32. halt(1);
  33. fillchar(r,sizeof(r),0);
  34. p(@r.h);
  35. if (r.h<>$12) then
  36. halt(1);
  37. end.