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

⟦e819d0024⟧ TextFile

    Length: 2879 (0xb3f)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Text_Io;
with Z80_Defs;
with Desassembleur;
with Octet;

package body Test_Desa is

    -- VARIABLES ----------------------------------------------------------

    Fin : Boolean := False;


    -- PROCEDURES ---------------------------------------------------------


    function Lire_Clavier return Octet.T_Octet is
        Resultat : Octet.T_Octet := 0;
        Chaine_Lue : String (1 .. 2);

    begin

        Text_Io.Put (">");  
        Text_Io.Get (Chaine_Lue);
        case Chaine_Lue (1) is
            when '0' .. '9' =>
                Resultat := Character'Pos (Chaine_Lue (1)) -
                               Character'Pos ('0');
            when 'a' .. 'f' =>
                Resultat := Character'Pos (Chaine_Lue (1)) -
                               Character'Pos ('a') + 10;
            when 'A' .. 'F' =>
                Resultat := Character'Pos (Chaine_Lue (1)) -
                               Character'Pos ('A') + 10;
            when others =>
                Fin := True;
        end case;
        Resultat := Resultat * 16;

        case Chaine_Lue (2) is
            when '0' .. '9' =>
                Resultat := Resultat + Character'Pos (Chaine_Lue (2)) -
                               Character'Pos ('0');
            when 'a' .. 'f' =>
                Resultat := Resultat + Character'Pos (Chaine_Lue (2)) -
                               Character'Pos ('a') + 10;
            when 'A' .. 'F' =>
                Resultat := Resultat + Character'Pos (Chaine_Lue (2)) -
                               Character'Pos ('A') + 10;
            when others =>
                Fin := True;
        end case;

        Text_Io.Put ("valeur lue en decimal : ");
        Text_Io.Put_Line (Integer'Image (Resultat));
        return Resultat;

    end Lire_Clavier;


    ------------------------------------------------

    procedure Afficher_Instruction (Instruc : Desassembleur.Instruction) is
    begin  
        Text_Io.Put_Line ("");
        Text_Io.Put (Desassembleur.Mnemonic'Image (Instruc.Mnemo));
        Text_Io.Put ("   ");
        Text_Io.Put (Z80_Defs.Operande'Image (Instruc.Op_Gauche));
        Text_Io.Put (" , ");
        Text_Io.Put (Z80_Defs.Operande'Image (Instruc.Op_Droit));
        --  Text_Io.Put (Integer'Image (Instruc.Donnee));
        Text_Io.Put (Z80_Defs.Mot'Image (Instruc.Donnee));
        Text_Io.Put ("     taille:");
        Text_Io.Put (Integer'Image (Instruc.Taille));
        Text_Io.Put_Line ("");
    end Afficher_Instruction;

    --------------------------------------------

    procedure Je_Teste_Le_Desa is
        Val_Lue : Octet.T_Octet := 0;
    begin
        while (not Fin) loop
            if (Desassembleur.Traiter_Code (Lire_Clavier)) then

                Afficher_Instruction (Desassembleur.Instruction_Trouvee);
            end if;

        end loop;

    end Je_Teste_Le_Desa;



end Test_Desa;