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

⟦36c9f1b16⟧ TextFile

    Length: 2501 (0x9c5)
    Types: TextFile
    Names: »V«

Derivation

└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
    └─ ⟦77aa8350c⟧ »DATA« 
        └─⟦f794ecd1d⟧ 
            └─⟦4c85d69e2⟧ 
                └─⟦this⟧ 

TextFile

package System is

    type Address is private;

    type Name is (Mc68020_Os2000);

    System_Name  : constant Name := Mc68020_Os2000;
    Storage_Unit : constant      := 8;
    Memory_Size  : constant      := +(2 ** 31) - 1;

    Min_Int : constant := -(2 ** 31);
    Max_Int : constant := +(2 ** 31) - 1;

    Max_Digits   : constant := 15;
    Max_Mantissa : constant := 31;
    Fine_Delta   : constant := 1.0 / (2.0 ** 31);
    Tick         : constant := 1.0 / (2.0 ** 13);

    subtype Priority is Integer range 0 .. 255;

    function To_Address (Value : Integer) return Address;
    function To_Integer (Value : Address) return Integer;

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

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


    --  The functions above are unsigned in nature.  Neither Numeric_Error
    --  nor Constraint_Error will ever be propagated by these functions.
    --
    --  Consequently,
    --
    --          To_Address (Integer'First) > To_Address (Integer'Last)
    --
    --  and
    --
    --          To_Address (0) < To_Address (-1).
    --
    --  The unsigned range of Address includes values which are
    --  larger than those implied by Memory_Size.


    Address_Zero : constant Address;

private

    type Address is new Integer;

    Address_Zero : constant Address := 0;

    pragma Suppress (Elaboration_Check, On => System."+");
    pragma Suppress (Elaboration_Check, On => System."-");
    pragma Suppress (Elaboration_Check, On => System.">");
    pragma Suppress (Elaboration_Check, On => System.">=");
    pragma Suppress (Elaboration_Check, On => System."<");
    pragma Suppress (Elaboration_Check, On => System."<=");
    pragma Suppress (Elaboration_Check, On => System.To_Address);
    pragma Suppress (Elaboration_Check, On => System.To_Integer);

    pragma Inline (System."+");
    pragma Inline (System."-");
    pragma Inline (System.">");
    pragma Inline (System.">=");
    pragma Inline (System."<");
    pragma Inline (System."<=");
    pragma Inline (System.To_Address);
    pragma Inline (System.To_Integer);

end System;