DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T V

⟦baada189a⟧ TextFile

    Length: 2313 (0x909)
    Types: TextFile
    Names: »V«

Derivation

└─⟦407de186f⟧ Bits:30000749 8mm tape, Rational 1000, RCFSUN
    └─ ⟦e5cd75ab4⟧ »DATA« 
        └─⟦this⟧ 

TextFile

package System is

-- Standard Ada definitions.

    type Name is (I80x86, I80386, Mc680x0, S370, Transputer, Vax, Sparc);

    System_Name : constant Name := Sparc;

    Storage_Unit : constant := 8;

    Memory_Size : constant := 2 ** 32;

    Min_Int : constant := -(2 ** 31);
    Max_Int : constant := (2 ** 31) - 1;
    Max_Digits : constant := 15;
    Max_Mantissa : constant := 31;
    Fine_Delta : constant := 2#1.0#E-31;
    Tick : constant := 0.02;

    type Address is private;
    Null_Address : constant Address; -- set to NULL

    subtype Priority is Integer range 1 .. 10;

-- Arithmetic address.

    function Value (Left : in String) return Address;

    Address_Width : constant := 3 + 8 + 1;
    subtype Address_String is String (1 .. Address_Width);

    function Image (Left : in Address) return Address_String;

    type Offset is range -2 ** 31 .. 2 ** 31 - 1;

    function Same_Segment (Left, Right : in Address) return Boolean;

    Address_Error : exception;

    function "+" (Left : Offset; Right : Address) return Address;
    function "+" (Left : Address; Right : Offset) return Address;
    function "-" (Left : Address; Right : Offset) return Address;

    function "-" (Left : Address; Right : Address) return Offset;

    function "<" (Left : Address; Right : Address) return Boolean;
    function "<=" (Left : Address; Right : Address) return Boolean;
    function ">" (Left : Address; Right : Address) return Boolean;
    function ">=" (Left : Address; Right : Address) return Boolean;

    function "mod" (Left : Address; Right : Positive) return Natural;

    type Round_Direction is (Down, Up);

    function Round (Value : in Address;
                    Direction : in Round_Direction;
                    Modulus : in Positive) return Address;

-- Direct memory access.

    generic  
        type Target is private;
    function Fetch_From_Address (A : in Address) return Target;

    generic  
        type Target is private;
    procedure Assign_To_Address (A : in Address; T : in Target);

    type Object_Length is range 0 .. 2 ** 31 - 1;

    procedure Move (To : in Address;
                    From : in Address;
                    Lengthin : Object_Length);

private
    type Address is access Integer;
    Null_Address : constant Address := null;
end System;