DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦917d022b1⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package System, seg_04cde4

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Unsigned_Types;
package System is

    pragma Suppress (All_Checks);
    pragma Suppress (Exception_Tables);
    pragma Not_Elaborated;

    type Name is (Sun4_Cross_Mc68020);

    System_Name : constant Name := Sun4_Cross_Mc68020;

    Storage_Unit : constant := 8;
    Memory_Size : constant := 16_777_216;

    -- System-Dependent Named Numbers

    Min_Int : constant := -2_147_483_648;
    Max_Int : constant := 2_147_483_647;
    Max_Digits : constant := 15;
    Max_Mantissa : constant := 31;
    Fine_Delta : constant := 2.0 ** (-31);
    Tick : constant := 0.01;

    -- Other System-dependent Declarations

    subtype Priority is Integer range 0 .. 99;

    Max_Rec_Size : Integer := 1024;

    type Address is private;

    function ">" (A : Address; B : Address) return Boolean;
    function "<" (A : Address; B : Address) return Boolean;
    function ">=" (A : Address; B : Address) return Boolean;
    function "<=" (A : Address; B : Address) return Boolean;
    function "-" (A : Address; B : Address) return Integer;
    function "+" (A : Address; I : Integer) return Address;
    function "-" (A : Address; I : Integer) return Address;
    function "+" (I : Integer; A : Address) return Address;

    function "+" (I : Unsigned_Types.Unsigned_Integer) return Address;

    function Memory_Address (I : Unsigned_Types.Unsigned_Integer) return Address
        renames "+";

    function To_Integer (Addr : Address) return Integer;
    function To_Address (Int : Integer) return Address;

    No_Addr : constant Address;
    Address_Zero : constant Address;
    Null_Address : constant Address;

    Assertion_Error : exception;

    type Task_Id is private;
    No_Task_Id : constant Task_Id;

    type Passive_Task_Id is private;
    No_Passive_Task_Id : constant Passive_Task_Id;

    subtype Sig_Status_T is Integer;
    Sig_Status_Size : constant := 4;

    type Program_Id is private;
    No_Program_Id : constant Program_Id;

    type Byte_Order_T is (Little_Endian, Big_Endian);
    Byte_Order : constant Byte_Order_T := Big_Endian;

    type Long_Address is private;

    No_Long_Addr : constant Long_Address;

    function "+" (A : Long_Address; I : Integer) return Long_Address;
    function "-" (A : Long_Address; I : Integer) return Long_Address;

    function Make_Long_Address (A : Address) return Long_Address;

    function Localize (A : Long_Address; Byte_Size : Integer) return Address;

    function Station_Of (A : Long_Address) return Integer;

    -- Internal RTS representation for day. If the calendar package is used,
    -- then, this is the julian day.
    subtype Day_T is Integer;

    -- Constants describing the configuration of the CIFO add-on product.
    Supports_Invocation_By_Address : constant Boolean := True;
    Supports_Preelaboration : constant Boolean := True;
    Make_Access_Supported : constant Boolean := True;

    -- Arguments to the CIFO pragma INTERRUPT_TASK.
    type Interrupt_Task_Kind is (Simple, Signalling);

    function Return_Address return Address;

private

    type Address is new Unsigned_Types.Unsigned_Integer;

    No_Addr : constant Address := 0;
    Address_Zero : constant Address := 0;
    Null_Address : constant Address := 0;

    pragma Built_In (">");
    pragma Built_In ("<");
    pragma Built_In (">=");
    pragma Built_In ("<=");
    pragma Built_In ("-");
    pragma Built_In ("+");

    type Task_Id is new Unsigned_Types.Unsigned_Integer;
    No_Task_Id : constant Task_Id := 0;

    type Passive_Task_Id is new Unsigned_Types.Unsigned_Integer;
    No_Passive_Task_Id : constant Passive_Task_Id := 0;

    type Program_Id is new Unsigned_Types.Unsigned_Integer;
    No_Program_Id : constant Program_Id := 0;

    type Long_Address is
        record
            Station : Unsigned_Types.Unsigned_Integer;
            Addr : Address;
        end record;

    No_Long_Addr : constant Long_Address := (0, 0);

    pragma Built_In (Make_Long_Address);
    pragma Built_In (Localize);
    pragma Built_In (Station_Of);

    pragma Built_In (Return_Address);
    pragma Built_In (To_Integer);
    pragma Built_In (To_Address);

end System;

E3 Meta Data

    nblk1=5
    nid=0
    hdr6=a
        [0x00] rec0=24 rec1=00 rec2=01 rec3=038
        [0x01] rec0=1d rec1=00 rec2=02 rec3=034
        [0x02] rec0=1a rec1=00 rec2=03 rec3=05a
        [0x03] rec0=22 rec1=00 rec2=04 rec3=016
        [0x04] rec0=0e rec1=00 rec2=05 rec3=000
    tail 0x217541f48874f7ba637a7 0x42a00088462060003