|
|
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: 5698 (0x1642)
Types: TextFile
Names: »V«
└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS
└─⟦9a14c9417⟧ »DATA«
└─⟦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;