DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦1b1b98e82⟧ TextFile

    Length: 1620 (0x654)
    Types: TextFile
    Names: »B«

Derivation

└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Text_Io;
with String_Map_Generic;
package body Registres is

    Table_Registres_Size : Integer := 101;

    package String_Tab_Registres is
       new String_Map_Generic (Size => Table_Registres_Size,
                               Range_Type => Type_Value);

    La_Map : String_Tab_Registres.Map;



    procedure Init_Registres is
        --  Init : String_Tab_Registres.Iterator;
    begin  
        String_Tab_Registres.Initialize (La_Map);
    end Init_Registres;


    procedure Set_Registre (Registre : Type_Registre; Valeur : Type_Value) is

        Reg : constant String := Registre.all;
        Val : constant Type_Value := Valeur;

        --  Init : String_Tab_Registres.Iterator;
    begin

        String_Tab_Registres.Define
           (The_Map => La_Map, D => Reg, R => Val, Trap_Multiples => True);
    exception
        when String_Tab_Registres.Multiply_Defined =>
            begin
                String_Tab_Registres.Undefine (The_Map => La_Map, D => Reg);
                String_Tab_Registres.Define (The_Map => La_Map,
                                             D => Reg,
                                             R => Val,
                                             Trap_Multiples => True);  
            end;
    end Set_Registre;


    function Get_Value_Registre (Registre : Type_Registre) return Type_Value is
        I : Type_Value;
        Reg : constant String := Registre.all;
    begin  
        Text_Io.Put_Line (" Reg : " & Registre.all);
        I := String_Tab_Registres.Eval (The_Map => La_Map, D => Reg);
        return I;
    end Get_Value_Registre;

end Registres;