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 - 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;