|
|
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 - metrics - download
Length: 9216 (0x2400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_03bdb6
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦this⟧
WITH System;
USE System;
WITH V_I_Pass;
USE V_I_Pass;
WITH Unchecked_Conversion;
PACKAGE V_I_Libop IS
PRAGMA Not_Elaborated;
PRAGMA Suppress (Exception_Tables);
PRAGMA Suppress (All_Checks);
---- for image and value attributes ---------------------
TYPE Target_Integer IS NEW Integer;
TYPE Target_Dv_Integer IS NEW Integer;
TYPE Dv_Rec IS
RECORD
Char_Size : Target_Dv_Integer;
Low : Target_Dv_Integer;
High : Target_Dv_Integer;
Size : Target_Dv_Integer;
END RECORD;
TYPE Dv_Ptr IS ACCESS Dv_Rec;
TYPE Image_Rec IS
RECORD
Width : Integer;
Count : Integer;
Images : String (1 .. 1);
END RECORD;
TYPE Image_Ptr IS ACCESS Image_Rec;
TYPE Pv_Arr IS ARRAY (Target_Integer RANGE 0 .. 0) OF Target_Integer;
TYPE Pv_Ptr IS ACCESS Pv_Arr;
TYPE Char_Ptr IS ACCESS Character;
FUNCTION Atoc IS NEW Unchecked_Conversion (Address, Char_Ptr);
FUNCTION Enum_Image (Map : Image_Ptr; Val : Target_Integer; Dv : Dv_Ptr)
RETURN Address;
FUNCTION Enum_Value (Str : Address; Dv : Dv_Ptr; Image : Image_Ptr)
RETURN Target_Integer;
FUNCTION Enum_Width (Map : Image_Ptr; Low, High : Target_Integer)
RETURN Target_Integer;
FUNCTION Int_Image (Val : Target_Integer; Image : Address; Dv : Dv_Ptr)
RETURN Address;
FUNCTION Int_Value (Str : Address; Dv : Dv_Ptr; Lb, Ub : Target_Integer)
RETURN Target_Integer;
FUNCTION Int_Width (Low : Target_Integer; High : Target_Integer)
RETURN Target_Integer;
------ val/pos support --------------------------------------
FUNCTION Val_To_Pos (Val : Target_Integer; Pv_Map : Pv_Ptr)
RETURN Target_Integer;
------ bit support ------------------------------------------
PROCEDURE Bitcopy (Bits : Integer;
Src_Base : Address;
Src_Bit_Offset : Integer;
Dst_Base : Address;
Dst_Bit_Offset : Integer);
FUNCTION Biteq (Bits : Integer;
Lhs_Base : Address;
Lhs_Bit_Offset : Integer;
Rhs_Base : Address;
Rhs_Bit_Offset : Integer) RETURN Boolean;
-- catenation support ---------------------------------------------
PROCEDURE Lib_Catenate (Arg_List_P : Address; New_Dv : Dv_Ptr);
-- block memory support -------------------------------------------
PROCEDURE Bcopy (Src_Addr, Dst_Addr : Address; Lgth : Integer);
PROCEDURE Bzero (Addr : Address; Lgth : Integer);
-- Compare 2 strings of characters given their address and the length.
-- Condition codes are left for the calling procedure.
PROCEDURE Cmpc3 (Addr1 : Address; Addr2 : Address; Lgth : Integer);
-- Compare 2 strings of chars with possibly different lengths.
-- Condition codes are left for the calling procedure.
PROCEDURE Cmpc4 (Addr1 : Address;
Lgth1 : Integer;
Addr2 : Address;
Lgth2 : Integer);
-- Compare 2 strings of longs with possibly different lengths.
-- Condition codes are left for the calling procedure.
PROCEDURE Cmpl4 (Addr1 : Address;
Lgth1 : Integer;
Addr2 : Address;
Lgth2 : Integer);
-- Compare 2 strings of words with possibly different lengths.
-- Condition codes are left for the calling procedure.
PROCEDURE Cmpw4 (Addr1 : Address;
Lgth1 : Integer;
Addr2 : Address;
Lgth2 : Integer);
-- Copy a block of memory from one address to another.
-- Handles overlapping segments of memory.
PROCEDURE Movc3 (Addr1 : Address; Addr2 : Address; Lgth : Integer);
-- fixed point support --------------------------------------------
FUNCTION Fixed_Mantissa (Low : Target_Integer; High : Target_Integer)
RETURN Target_Integer;
PRIVATE
PRAGMA Interface (Ada, Fixed_Mantissa);
PRAGMA Interface_Name (Fixed_Mantissa, "FIXED_MANTISSA");
PRAGMA Interface (Ada, Movc3);
PRAGMA Interface_Name (Movc3, "MOVC3");
PRAGMA Interface (Ada, Cmpw4);
PRAGMA Interface_Name (Cmpw4, "CMPW4");
PRAGMA Interface (Ada, Cmpl4);
PRAGMA Interface_Name (Cmpl4, "CMPL4");
PRAGMA Interface (Ada, Cmpc4);
PRAGMA Interface_Name (Cmpc4, "CMPC4");
PRAGMA Interface (Ada, Cmpc3);
PRAGMA Interface_Name (Cmpc3, "CMPC3");
PRAGMA Interface (Ada, Bzero);
PRAGMA Interface_Name (Bzero, "BZERO");
PRAGMA Interface (Ada, Bcopy);
PRAGMA Interface_Name (Bcopy, "BCOPY");
PRAGMA Interface (Ada, Biteq);
PRAGMA Interface_Name (Biteq, "BITEQ");
PRAGMA Interface (Ada, Bitcopy);
PRAGMA Interface_Name (Bitcopy, "BITCOPY");
PRAGMA Interface (Ada, Val_To_Pos);
PRAGMA Interface_Name (Val_To_Pos, "VAL_TO_POS");
PRAGMA Interface (Ada, Int_Width);
PRAGMA Interface_Name (Int_Width, "INT_WIDTH");
PRAGMA Interface (Ada, Int_Value);
PRAGMA Interface_Name (Int_Value, "INT_VALUE");
PRAGMA Interface (Ada, Int_Image);
PRAGMA Interface_Name (Int_Image, "INT_IMAGE");
PRAGMA Interface (Ada, Enum_Width);
PRAGMA Interface_Name (Enum_Width, "ENUM_WIDTH");
PRAGMA Interface (Ada, Enum_Value);
PRAGMA Interface_Name (Enum_Value, "ENUM_VALUE");
PRAGMA Interface (Ada, Enum_Image);
PRAGMA Interface_Name (Enum_Image, "ENUM_IMAGE");
PRAGMA Interface (Ada, Lib_Catenate);
PRAGMA Interface_Name (Lib_Catenate, "__LIB_CATENATE");
END V_I_Libop;
nblk1=8
nid=0
hdr6=10
[0x00] rec0=24 rec1=00 rec2=01 rec3=036
[0x01] rec0=00 rec1=00 rec2=08 rec3=038
[0x02] rec0=15 rec1=00 rec2=02 rec3=042
[0x03] rec0=13 rec1=00 rec2=03 rec3=070
[0x04] rec0=00 rec1=00 rec2=07 rec3=01c
[0x05] rec0=15 rec1=00 rec2=04 rec3=05c
[0x06] rec0=19 rec1=00 rec2=05 rec3=02a
[0x07] rec0=13 rec1=00 rec2=06 rec3=001
tail 0x21739b8da856574541872 0x489e0066482863c01