t_open1d_size_adr.mod 430 B

12345678910111213141516
  1. MODULE TOpen1DSizeAdr;
  2. (* M4: 1-D payload SIZE and open-array ADR base. *)
  3. FROM SYSTEM IMPORT ADDRESS, ADR;
  4. TYPE Vec = ARRAY [0..3] OF INTEGER;
  5. VAR ExitCode : INTEGER;
  6. v : Vec;
  7. PROCEDURE Check (a : ARRAY OF INTEGER) : BOOLEAN;
  8. BEGIN
  9. RETURN (SIZE(a) = 16) AND (TSIZE(a) = 16)
  10. AND (ADR(a) = ADR(a[0]))
  11. END Check;
  12. BEGIN
  13. IF Check(v) AND (SIZE(v) = 16) THEN ExitCode := 42 ELSE ExitCode := 1 END
  14. END TOpen1DSizeAdr.