|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3848 (0xf08) Types: TextFile Notes: R1k Text-file segment
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦efb91b255⟧ └─⟦this⟧
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