|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 6144 (0x1800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body C_Simple_Io, seg_057e9c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with C_Driver_Serie; with General_Defs; package body C_Simple_Io is procedure Put (C : in Character) is Trame : General_Defs.Byte_String (1 .. 1); begin Trame (1) := Character'Pos (C); C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame (Trame, General_Defs.Port_A); end Put; procedure Put (S : in String) is Trame : General_Defs.Byte_String (1 .. S'Length); begin for I in S'Range loop Trame (I) := Character'Pos (S (I)); end loop; C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame (Trame, General_Defs.Port_A); end Put; -- procedure Taille_Int (Int : Integer; Taille : Natural; Signe : Boolean) is -- Tempo : Integer; -- begin -- Tempo := Int; -- Taille := 0; -- if Int < 0 then -- Signe := False; -- Tempo := Tempo * (-1); -- else -- Signe := True; -- end if; -- while (Tempo >= 1) loop -- Tempo := Tempo / 10; -- Taille := Taille + 1; -- end loop; -- end Taille_Int; procedure Put (I : in Integer) is Tempo : constant String := Integer'Image (I); begin declare Trame : General_Defs.Byte_String (1 .. Tempo'Length); begin for I in Trame'Range loop Trame (I) := Character'Pos (Tempo (I)); end loop; C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame (Trame, General_Defs.Port_A); end; end Put; procedure Put_Line (S : in String) is Trame : General_Defs.Byte_String (1 .. S'Length + 2); begin for I in S'Range loop Trame (I) := Character'Pos (S (I)); end loop; Trame (Trame'Length - 1) := Character'Pos (Ascii.Lf); Trame (Trame'Length) := Character'Pos (Ascii.Cr); C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame (Trame, General_Defs.Port_A); end Put_Line; procedure New_Line is Trame : General_Defs.Byte_String (1 .. 2); begin Trame (1) := Character'Pos (Ascii.Cr); Trame (2) := Character'Pos (Ascii.Lf); C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame (Trame, General_Defs.Port_A); end New_Line; procedure Clear_Screan is Trame : General_Defs.Byte_String (1 .. 2); begin Trame (1) := 27; Trame (2) := Character'Pos ('*'); C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame (Trame, General_Defs.Port_A); end Clear_Screan; procedure Gotoxy (X : Natural; Y : Natural) is Trame : General_Defs.Byte_String (1 .. 4); begin Trame (1) := 27; Trame (2) := Character'Pos ('='); Trame (3) := Natural'Pos (Y + 31); Trame (4) := Natural'Pos (X + 31); C_Driver_Serie.Tache_Driver_Serie.Ecriture_Trame (Trame, General_Defs.Port_A); end Gotoxy; procedure New_Page is begin Clear_Screan; Gotoxy (1, 1); end New_Page; procedure Get (C : out Character) is Trame : General_Defs.Byte_String (1 .. 1); Taille : Integer; Port : General_Defs.Port; begin C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame (Trame, Taille, Port); C := Character'Val (Trame (1)); end Get; procedure Get (Item : out String) is Trame : General_Defs.Byte_String (1 .. Item'Length); Taille : Integer; Port : General_Defs.Port; begin C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame (Trame, Taille, Port); for I in Item'Range loop Item (I) := Character'Val (Trame (I)); end loop; end Get; procedure Get (I : out Integer) is Trame : General_Defs.Byte_String (1 .. 1024); Taille : Natural; Port : General_Defs.Port; begin C_Driver_Serie.Tache_Driver_Serie.Lecture_Trame (Trame, Taille, Port); declare Tempo : String (1 .. (Taille - 1)); begin for I in Tempo'Range loop Tempo (I) := Character'Val (Trame (I)); end loop; I := Integer'Value (Tempo); end; end Get; procedure Get_Line (Item : out String) is begin null; end Get_Line; end C_Simple_Io;
nblk1=5 nid=0 hdr6=a [0x00] rec0=23 rec1=00 rec2=01 rec3=032 [0x01] rec0=1d rec1=00 rec2=04 rec3=01c [0x02] rec0=1d rec1=00 rec2=03 rec3=02a [0x03] rec0=20 rec1=00 rec2=05 rec3=062 [0x04] rec0=1a rec1=00 rec2=02 rec3=000 tail 0x2176534e687d57d27ccfd 0x42a00088462060003