|
|
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: B T
Length: 2286 (0x8ee)
Types: TextFile
Names: »B«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦24d1ddd49⟧
└─⟦this⟧
separate (Shared_Code_Generic_Support)
package body Short_Pointer_Ops is
pragma Suppress_All;
type Dont_Care is (Void);
type Short is access Dont_Care;
--pragma Segmented_Heap (Short);
--pragma Short_Pointer (Short);
for Short'Storage_Size use 0;
type Record_With_Short is
record
Fld : Short;
end record;
function Cnvt is new Unchecked_Conversion (Source => Expression,
Target => Short);
function Cnvt is new Unchecked_Conversion (Source => Short,
Target => Expression);
function Short_To_Long (Dat : Data) return Expression is
pragma Routine_Number (N => Runtime_Ids.Internal);
Rec : Record_With_Short;
for Rec use at Dat'Address;
begin
pragma Assert (Dat'Length = Target.Bytes_Per_Address);
return Cnvt (Rec.Fld);
end Short_To_Long;
procedure Copy_Value_To_Data (Source_Exp : Expression;
Dest_Address : System.Address) is
pragma Routine_Number (N => Runtime_Ids.Internal);
Dest_Rec : Record_With_Short;
for Dest_Rec use at Dest_Address;
begin
Dest_Rec.Fld := Cnvt (Source_Exp);
end Copy_Value_To_Data;
procedure Copy_Data_To_Value (Source_Data : Data;
Dest_Address : System.Address) is
pragma Routine_Number (N => Runtime_Ids.Internal);
Source_Rec : Record_With_Short;
for Source_Rec use at Source_Data'Address;
begin
Cnvt (Dest_Address).all := Cnvt (Source_Rec.Fld);
end Copy_Data_To_Value;
procedure Copy_Data_To_Data (Source_Data : Data;
Dest_Address : System.Address) is
pragma Routine_Number (N => Runtime_Ids.Internal);
Source_Rec : Record_With_Short;
for Source_Rec use at Source_Data'Address;
Dest_Rec : Record_With_Short;
for Dest_Rec use at Dest_Address;
begin
Dest_Rec.Fld := Source_Rec.Fld;
end Copy_Data_To_Data;
end Short_Pointer_Ops;
pragma Runtime_Unit (Unit_Number => Runtime_Ids.Runtime_Compunit,
Elab_Routine_Number => Runtime_Ids.Internal);