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 - 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);