DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦b536aec25⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body V_Bits, seg_04b9a2

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



-- Copyright 1990 Verdix Corporation

with Machine_Code;
package body V_Bits is
    pragma Suppress (All_Checks);
    pragma Suppress (Exception_Tables);

    procedure B_And (L, R : Integer; X : out Integer) is
        use Machine_Code;
    begin
        Code_3'(And_Op, X'Ref, L'Ref, R'Ref);
    end B_And;
    pragma Inline_Only (B_And);

    function Bit_And (L, R : Integer) return Integer is
        X : Integer;
    begin
        B_And (L, R, X);
        return X;
    end Bit_And;
    pragma Inline_Only (Bit_And);


    procedure B_Or (L, R : Integer; X : out Integer) is
        use Machine_Code;
    begin
        Code_3'(Or_Op, X'Ref, L'Ref, R'Ref);
    end B_Or;
    pragma Inline_Only (B_Or);

    function Bit_Or (L, R : Integer) return Integer is
        X : Integer;
    begin
        B_Or (L, R, X);
        return X;
    end Bit_Or;
    pragma Inline_Only (Bit_Or);


    procedure B_Xor (L, R : Integer; X : out Integer) is
        use Machine_Code;
    begin
        Code_3'(Xor_Op, X'Ref, L'Ref, R'Ref);
    end B_Xor;
    pragma Inline_Only (B_Xor);

    function Bit_Xor (L, R : Integer) return Integer is
        X : Integer;
    begin
        B_Xor (L, R, X);
        return X;
    end Bit_Xor;
    pragma Inline_Only (Bit_Xor);


    procedure B_Neg (L : Integer; X : out Integer) is
        use Machine_Code;
    begin
        Code_3'(Sfi, X'Ref, L'Ref, -1);
    end B_Neg;
    pragma Inline_Only (B_Neg);

    function Bit_Neg (L : Integer) return Integer is
        X : Integer;
    begin
        B_Neg (L, X);
        return X;
    end Bit_Neg;
    pragma Inline_Only (Bit_Neg);

    procedure B_Sra (L, Cnt : Integer; X : out Integer) is
        use Machine_Code;
    begin
        Code_3'(Sra, X'Ref, L'Ref, Cnt'Ref);
    end B_Sra;
    pragma Inline_Only (B_Sra);

    function Bit_Sra (L, Cnt : Integer) return Integer is
        X : Integer;
    begin
        B_Sra (L, Cnt, X);
        return X;
    end Bit_Sra;
    pragma Inline_Only (Bit_Sra);

    procedure B_Srl (L, Cnt : Integer; X : out Integer) is
        use Machine_Code;
    begin
        Code_3'(Sr, X'Ref, L'Ref, Cnt'Ref);
    end B_Srl;
    pragma Inline_Only (B_Srl);

    function Bit_Srl (L, Cnt : Integer) return Integer is
        X : Integer;
    begin
        B_Srl (L, Cnt, X);
        return X;
    end Bit_Srl;
    pragma Inline_Only (Bit_Srl);

    procedure B_Sll (L, Cnt : Integer; X : out Integer) is
        use Machine_Code;
    begin
        Code_3'(Sl, X'Ref, L'Ref, Cnt'Ref);
    end B_Sll;
    pragma Inline_Only (B_Sll);

    function Bit_Sll (L, Cnt : Integer) return Integer is
        X : Integer;
    begin
        B_Sll (L, Cnt, X);
        return X;
    end Bit_Sll;
    pragma Inline_Only (Bit_Sll);

end V_Bits;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=29 rec1=00 rec2=01 rec3=062
        [0x01] rec0=27 rec1=00 rec2=02 rec3=024
        [0x02] rec0=26 rec1=00 rec2=03 rec3=000
    tail 0x21750bd12868437f69e84 0x42a00088462060003