DEFINITION MODULE LongInOut; (* Read and write procedures for LONGCARDs, LONGINTs and ADDRESSs from/on InOut.In and InOut.Out based on the InOut.Read... and InOut.Write... procedures. *) FROM SYSTEM IMPORT ADDRESS; VAR Done : BOOLEAN; PROCEDURE WriteLongInt(TheNumber : LONGINT; Length : CARDINAL); (* min. length *) (* Writes the LongInt number. *) PROCEDURE WriteLongCard(TheNumber : LONGCARD; Length : CARDINAL); (* min. length *) (* Writes the LongCard number in decimal representation. *) PROCEDURE WriteLongOct(TheNumber : LONGCARD; Length : CARDINAL); (* min. length *) (* Writes the LongCard number in Octal representation. *) PROCEDURE WriteLongHex(TheNumber : LONGCARD; Length : CARDINAL); (* min. length *) (* Writes the LongCard number in Hexadecimal representation. *) PROCEDURE WriteAdr (TheAddress : ADDRESS; Length : CARDINAL); (* min. length *) (* Writes the Address in decimal representation. *) PROCEDURE WriteAdrOct(TheAddress : ADDRESS; Length : CARDINAL); (* min. length *) (* Writes the Address in Octal representation. *) PROCEDURE WriteAdrHex(TheAddress : ADDRESS; Length : CARDINAL); (* min. length *) (* Writes the Address in Hexadecimal representation. *) PROCEDURE ReadLongInt(VAR TheNumber : LONGINT); (* A LongInt number is read using InOut.ReadString. Syntax as in InOut.ReadInt. Done := "Long Integer was read."*) PROCEDURE ReadLongCard(VAR TheNumber : LONGCARD); (* A LongCard number is read using InOut.ReadString. Syntax as in InOut.ReadCard. Done := "Long Cardinal was read."*) PROCEDURE ReadAdr(VAR TheAddress : ADDRESS); (* TheAddress is read using InOut.ReadString. Syntax as in ReadLongCard. Done := "Address was read."*) END (* DEFINITION MODULE *) LongInOut.