|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 4237 (0x108d)
Types: TextFile
Names: »V«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦24d1ddd49⟧
└─⟦this⟧
-- The use of this system is subject to the software license terms and
-- conditions agreed upon between Rational and the Customer.
--
-- Copyright 1988, 1989, 1990 by Rational.
--
-- RESTRICTED RIGHTS LEGEND
--
-- Use, duplication, or disclosure by the Government is subject to
-- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
-- Technical Data and Computer Software clause at 52.227-7013.
--
--
-- Rational
-- 3320 Scott Boulevard
-- Santa Clara, California 95054
--
-- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
-- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
-- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS
-- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
-- 1976. CREATED 1988, 1989, 1990. ALL RIGHTS RESERVED.
--
--
with Runtime_Ids;
with System;
package Target is
Bytes_Are_Backwards : constant Boolean := False;
-- When a small value is set in a word (as when a Boolean actual
-- is in an expression), the small value may be in the least sig-
-- nificant bytes, or in the most significant bytes. Bytes_Are
-- _Backwards is True when the small value is in the most signi-
-- ficant bytes.
Bits_Per_Byte : constant := 8;
Bits_Per_Address : constant := 32;
pragma Assert (System.Address'Size = Bits_Per_Address);
Min_Integer : constant := -2 ** (Bits_Per_Address - 1);
Max_Integer : constant := 2 ** (Bits_Per_Address - 1) - 1;
type Integer is range Min_Integer .. Max_Integer;
pragma Assert (Integer'Size = Bits_Per_Address);
Bits_Per_Integer : constant := Bits_Per_Address;
-- The Integer's we refer to MUST be convertable to an Address and
-- vice versa.
subtype Natural is Integer range 0 .. Max_Integer;
subtype Positive is Integer range 1 .. Max_Integer;
-- Natural's and Positive's are from Integer, and not from Standard.
Bytes_Per_Enumeration : constant := 1;
Bytes_Per_Address : constant := Bits_Per_Address / Bits_Per_Byte;
Bytes_Per_Integer : constant := Bytes_Per_Address;
-- Enumerated types (that we use) take 1 byte. Address and Integers
-- take the same number of bytes.
Last_Bit_Of_Byte : constant :=
Bits_Per_Byte - 1;
Last_Bit_Of_Enumeration : constant :=
Bytes_Per_Enumeration * Bits_Per_Byte - 1;
Last_Bit_Of_Address : constant :=
Bytes_Per_Address * Bits_Per_Byte - 1;
Last_Bit_Of_Integer : constant :=
Bytes_Per_Integer * Bits_Per_Byte - 1;
-- These are used in defining ranges for representation specs
type Subprogram_Variable is
record
Code : System.Address := System.Address_Zero;
Static_Link : System.Address := System.Address_Zero;
end record;
Code_Offset : constant := 0;
Static_Link_Offset : constant :=
Code_Offset + Bytes_Per_Address;
Bytes_Per_Subprogram_Variable : constant :=
Static_Link_Offset + Bytes_Per_Address;
Last_Bit_Of_Subprogram_Variable : constant :=
Bytes_Per_Subprogram_Variable * Bits_Per_Byte - 1;
for Subprogram_Variable use
record at mod 4;
Code at Code_Offset
range 0 .. Last_Bit_Of_Address;
Static_Link at Static_Link_Offset
range 0 .. Last_Bit_Of_Address;
end record;
Nil_Code : constant System.Address := System.Address_Zero;
Nil_Static_Link : constant System.Address := System.Address_Zero;
Nil_Subprogram_Variable : constant Subprogram_Variable :=
Subprogram_Variable'(Nil_Code, Nil_Static_Link);
-- Subprogram variables have the above layout.
Copy_Down : constant Boolean := True;
-- Whether coder follows Copy Down semantics for functions that
-- return unconstrained values.
Supports_Segmented_Heaps : constant Boolean := False;
-- Whether target supports segmented heap access types.
end Target;
pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit,
Elab_Routine_Number => Runtime_Ids.Internal);