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: 3234 (0xca2) Types: TextFile Names: »B«
└─⟦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⟧
with Octet; with Z_Debug; package body Memoire is Toto : Pt_Tache_Memoire; -- TYPES ---------------------------------------------------------------- type Mem is array (0 .. Adresse.Val_Max_Adresse) of Octet.T_Octet; -- VARIABLES ------------------------------------------------------------ La_Memoire : Mem; La_Fin : Boolean := False; Msb, Lsb : Octet.T_Octet; -- PROCEDURES ---------------------------------------------------------- procedure Creer is begin Toto := new T_Memoire; end Creer; -- TACHE ---------------------------------------------------------------- task body T_Memoire is begin La_Memoire := (others => 0); while (not La_Fin) loop select --------------------------------- accept Charger_Fichier (Nom : String) do null; end Charger_Fichier; --------------------------------- or accept Aff_Entre_2_Adresses (Ad_Debut, Ad_Fin : Adresse.T_Adresse) do for I in Ad_Debut .. Ad_Fin loop Octet.Afficher_Octet_Hexa (La_Memoire (I)); end loop; end Aff_Entre_2_Adresses; --------------------------------- or accept Aff_Depuis_Adresse (Ad_Debut : Adresse.T_Adresse; Taille : Mot.T_Mot) do for I in Ad_Debut .. Ad_Debut + Taille loop Octet.Afficher_Octet_Hexa (La_Memoire (I)); end loop; end Aff_Depuis_Adresse; --------------------------------- or accept Acces_Octet (Operation : T_Operation; Ad : Adresse.T_Adresse; Donnee : in out Octet.T_Octet) do case Operation is when Lire => Donnee := La_Memoire (Ad); when Ecrire => La_Memoire (Ad) := Donnee; end case; end Acces_Octet; --------------------------------- or accept Acces_Mot (Operation : T_Operation; Ad : Adresse.T_Adresse; Donnee : in out Mot.T_Mot) do case Operation is when Lire => Msb := La_Memoire (Ad); Lsb := La_Memoire (Ad + 1); Donnee := Mot.Construire (Msb, Lsb); when Ecrire => La_Memoire (Ad) := Mot.Poids_Fort (Donnee); La_Memoire (Ad + 1) := Mot.Poids_Faible (Donnee); end case; end Acces_Mot; --------------------------------- or accept Fin do La_Fin := True; end Fin; end select; end loop; end T_Memoire; end Memoire;