|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 8192 (0x2000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Types, seg_04ce1f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
-- Copyright 1990, 1992 Verdix Corporation ------------------------------------------------------------------------------ -- Standard interface types used for M68K ------------------------------------------------------------------------------ with System; with Unsigned_Types; package V_I_Types is pragma Suppress (All_Checks); pragma Suppress (Exception_Tables); pragma Not_Elaborated; pragma Local_Access; -------------------------------------------------------------------------- -- TIME type -------------------------------------------------------------------------- -- Internal representation for current or absolute time. The current time -- is normalized so that sec is less than a day (86400.0 seconds) type Time_T is record Day : System.Day_T; Sec : Duration; end record; type A_Time_T is access Time_T; -------------------------------------------------------------------------- -- Allocation length type -------------------------------------------------------------------------- subtype Alloc_T is Integer; -------------------------------------------------------------------------- -- Type large enough to hold an address, integer, unsigned_integer, or -- duration scalar -------------------------------------------------------------------------- type Universal_Scalar is private; No_Universal_Scalar : constant Universal_Scalar; function To_Universal_Scalar (I : Integer) return Universal_Scalar; function To_Universal_Scalar (U : Unsigned_Types.Unsigned_Integer) return Universal_Scalar; function To_Universal_Scalar (A : System.Address) return Universal_Scalar; function To_Universal_Scalar (D : Duration) return Universal_Scalar; pragma Inline_Only (To_Universal_Scalar); function From_Universal_Scalar (Us : Universal_Scalar) return Integer; function From_Universal_Scalar (Us : Universal_Scalar) return Unsigned_Types.Unsigned_Integer; function From_Universal_Scalar (Us : Universal_Scalar) return System.Address; function From_Universal_Scalar (Us : Universal_Scalar) return Duration; pragma Inline_Only (From_Universal_Scalar); -------------------------------------------------------------------------- -- Converts an integer to an address. If address'size > integer'size, -- then, the integer is sign extended. If address'size < integer'size, -- then, the integer is truncated. -------------------------------------------------------------------------- function Integer_To_Address (I : Integer) return System.Address; pragma Inline_Only (Integer_To_Address); -------------------------------------------------------------------------- -- Converts an address to an integer. If integer'size > address'size, -- then, the address is sign extended. If integer'size < address'size, -- then, the address is truncated. -------------------------------------------------------------------------- function Address_To_Integer (A : System.Address) return Integer; pragma Inline_Only (Address_To_Integer); -------------------------------------------------------------------------- -- Misc types provided for backward compatibility with -- earlier releases of VADS. -------------------------------------------------------------------------- subtype A_Task_T is System.Task_Id; Null_Task : constant A_Task_T := System.No_Task_Id; subtype A_Program_T is System.Program_Id; subtype User_Field_T is Integer; subtype User_Field2_T is System.Address; -------------------------------------------------------------------------- -- Values corresponding to a zero/non-zero for the machine test-and-set -------------------------------------------------------------------------- -- Values corresponding to a zero/non-zero for the machine test-and-set type Test_And_Set_T is new Integer range 0 .. 255; for Test_And_Set_T'Size use 8; Test_And_Set_False : constant Test_And_Set_T := 0; Test_And_Set_True : constant Test_And_Set_T := 16#80#; -- bit 7 of byte -------------------------------------------------------------------------- -- The following types define the structure of the fpcr register -- on the MC68881. A configuration parameter of this type allows -- the user to control the operating characteristics of the co- -- processor by providing the value to which the fpcr should be -- initialized. -------------------------------------------------------------------------- type Exception_Bit is range 0 .. 1; type Rounding_Modes is (To_Nearest, Toward_Zero, Toward_Minus_Infinity, Toward_Plus_Infinity); for Rounding_Modes use (To_Nearest => 2#00#, Toward_Zero => 2#01#, Toward_Minus_Infinity => 2#10#, Toward_Plus_Infinity => 2#11#); type Rounding_Precision is (Extended, Single, Double); for Rounding_Precision use (Extended => 2#00#, Single => 2#01#, Double => 2#10#); type Mode_Control_Byte is record Prec : Rounding_Precision; Rnd : Rounding_Modes; end record; for Mode_Control_Byte use record Prec at 0 range 0 .. 1; Rnd at 0 range 2 .. 3; end record; for Mode_Control_Byte'Size use 8; type Exception_Byte is record Bsun : Exception_Bit; Snan : Exception_Bit; Operr : Exception_Bit; Ovfl : Exception_Bit; Unfl : Exception_Bit; Dz : Exception_Bit; Inex2 : Exception_Bit; Inex1 : Exception_Bit; end record; for Exception_Byte use record Bsun at 0 range 0 .. 0; Snan at 0 range 1 .. 1; Operr at 0 range 2 .. 2; Ovfl at 0 range 3 .. 3; Unfl at 0 range 4 .. 4; Dz at 0 range 5 .. 5; Inex2 at 0 range 6 .. 6; Inex1 at 0 range 7 .. 7; end record; for Exception_Byte'Size use 8; type Floating_Point_Control_T is record Exceptions : Exception_Byte; Modes : Mode_Control_Byte; end record; for Floating_Point_Control_T use record Exceptions at 2 range 00 .. 07; Modes at 3 range 00 .. 07; end record; for Floating_Point_Control_T'Size use 32; private type Universal_Scalar is new System.Address; No_Universal_Scalar : constant Universal_Scalar := Universal_Scalar (System.Memory_Address (0)); end V_I_Types;
nblk1=7 nid=0 hdr6=e [0x00] rec0=1c rec1=00 rec2=01 rec3=078 [0x01] rec0=13 rec1=00 rec2=02 rec3=01a [0x02] rec0=11 rec1=00 rec2=03 rec3=032 [0x03] rec0=13 rec1=00 rec2=04 rec3=082 [0x04] rec0=13 rec1=00 rec2=05 rec3=058 [0x05] rec0=1f rec1=00 rec2=06 rec3=040 [0x06] rec0=23 rec1=00 rec2=07 rec3=000 tail 0x217542480874f7c31fc45 0x42a00088462060003