|
|
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: 8192 (0x2000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package V_I_Libop, seg_0509c3
└─⟦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;
pragma Local_Access (Dv_Ptr);
type Image_Rec is
record
Width : Integer;
Count : Integer;
Images : String (1 .. 1);
end record;
type Image_Ptr is access Image_Rec;
pragma Local_Access (Image_Ptr);
type Pv_Arr is array (Target_Integer range 0 .. 0) of Target_Integer;
type Pv_Ptr is access Pv_Arr;
pragma Local_Access (Pv_Ptr);
type Char_Ptr is access Character;
pragma Local_Access (Char_Ptr);
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;
-- string support --------------------------------------------
procedure Strncpy
(Dest : System.Address; Src : System.Address; Len : 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");
pragma Interface (Ada, Strncpy);
pragma Interface_Name (Strncpy, "__STRNCPY");
end V_I_Libop;
nblk1=7
nid=0
hdr6=e
[0x00] rec0=24 rec1=00 rec2=01 rec3=020
[0x01] rec0=15 rec1=00 rec2=02 rec3=014
[0x02] rec0=15 rec1=00 rec2=03 rec3=046
[0x03] rec0=13 rec1=00 rec2=04 rec3=04a
[0x04] rec0=18 rec1=00 rec2=05 rec3=00c
[0x05] rec0=16 rec1=00 rec2=06 rec3=042
[0x06] rec0=08 rec1=00 rec2=07 rec3=000
tail 0x217580618878e79e0a244 0x42a00088462060003