|
|
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: 4433 (0x1151)
Types: TextFile
Names: »B«
└─⟦afbc8121e⟧ Bits:30000532 8mm tape, Rational 1000, MC68020_OS2000 7_2_2
└─⟦77aa8350c⟧ »DATA«
└─⟦f794ecd1d⟧
└─⟦4c85d69e2⟧
└─⟦this⟧
-- The use of this system is subject to the software license terms and
-- conditions agreed upon between Rational and the Customer.
--
-- Copyright 1988 by Rational.
--
-- RESTRICTED RIGHTS LEGEND
--
-- Use, duplication, or disclosure by the Government is subject to
-- restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
-- Technical Data and Computer Software clause at 52.227-7013.
--
--
-- Rational
-- 3320 Scott Boulevard
-- Santa Clara, California 95054-3197
--
-- PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
-- USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
-- IS STRICTLY PROHIBITED. THIS MATERIAL IS PROTECTED AS
-- AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
-- 1976. CREATED 1988. ALL RIGHTS RESERVED.
--
--
with System;
with System_Types;
package body Machine_Primitive_Operations is
package Implementation is
procedure Move_Bytes (From : System.Address;
To : System.Address;
Length : Natural);
pragma Suppress (Elaboration_Check, Move_Bytes);
pragma Interface (Asm, Move_Bytes);
pragma Import_Procedure (Move_Bytes, "__MOVE_BYTES",
Mechanism => (Value, Value, Value));
procedure Fill_Bytes
(Target : System.Address; Length : Natural; Value : Byte);
pragma Suppress (Elaboration_Check, Fill_Bytes);
pragma Interface (Asm, Fill_Bytes);
pragma Import_Procedure (Fill_Bytes, "__FILL_BYTES",
Mechanism => (Value, Value, Value));
procedure Fill_Chars (Target : System.Address;
Length : Natural;
Value : Character);
pragma Suppress (Elaboration_Check, Fill_Chars);
pragma Interface (Asm, Fill_Chars);
pragma Import_Procedure (Fill_Chars, "__FILL_BYTES",
Mechanism => (Value, Value, Value));
end Implementation;
procedure Move_Bytes (From : in String;
To : out String;
Length : in Natural) is
begin
-- To (To'First .. To'First + Length - 1) :=
-- From (From'First .. From'First + Length - 1);
Implementation.Move_Bytes (From'Address, To'Address, Length);
end Move_Bytes;
procedure Move_Bytes (From : in String;
To : out Byte_String;
Length : in Natural) is
begin
-- for I in 0 .. Length - 1 loop
-- To (To'First + I) := System_Types.To_Byte (From (From'First + I));
-- end loop;
Implementation.Move_Bytes (From'Address, To'Address, Length);
end Move_Bytes;
procedure Move_Bytes (From : in Byte_String;
To : out String;
Length : in Natural) is
begin
-- for I in 0 .. Length - 1 loop
-- To (To'First + I) := System_Types.To_Character
-- (From (From'First + I));
-- end loop;
Implementation.Move_Bytes (From'Address, To'Address, Length);
end Move_Bytes;
procedure Move_Bytes (From : in Byte_String;
To : out Byte_String;
Length : in Natural) is
begin
-- To (To'First .. To'First + Length - 1) :=
-- From (From'First .. From'First + Length - 1);
Implementation.Move_Bytes (From'Address, To'Address, Length);
end Move_Bytes;
procedure Fill_Bytes (Fill : out String;
Length : in Natural;
Value : in Character) is
begin
-- Fill (Fill'First .. Fill'First + Length - 1) :=
-- String'(1 .. Length => Value);
Implementation.Fill_Chars (Fill'Address, Length, Value);
end Fill_Bytes;
procedure Fill_Bytes (Fill : out Byte_String;
Length : in Natural;
Value : in Byte) is
begin
-- Fill (Fill'First .. Fill'First + Length - 1) :=
-- Byte_String'(1 .. Length => Value);
Implementation.Fill_Bytes (Fill'Address, Length, Value);
end Fill_Bytes;
end Machine_Primitive_Operations;