tprec15.pp 558 B

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