|
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