|
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: 4096 (0x1000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Chrono, seg_03121e
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Calendar; use Calendar; with Text_Io; procedure Chrono is Tps : Duration; task Chronometre is entry Reset; entry Start; entry Stop; entry Get (The_Time : out Duration); end Chronometre; task body Chronometre is Busy : Boolean := False; Time_Init : Duration := 0.0; Current_Time : Duration := 0.0; Time_Start : Calendar.Time; Time_Stop : Calendar.Time; begin loop select when not Busy => accept Start do Busy := True; end Start; if Current_Time /= Time_Init then Time_Start := Calendar.Clock - Current_Time; else Time_Start := Calendar.Clock; end if; or when Busy => accept Stop do Busy := False; end Stop; Time_Stop := Calendar.Clock; or when not Busy => accept Reset do Current_Time := Time_Init; end Reset; or accept Get (The_Time : out Duration) do case Busy is when True => The_Time := Calendar.Clock - Time_Start; when False => The_Time := Calendar.Clock - Time_Stop; end case; end Get; end select; end loop; end Chronometre; package Chrono_Io is new Text_Io.Fixed_Io (Duration); begin Chronometre.Start; delay 5.0; Chronometre.Stop; Chronometre.Get (Tps); Chrono_Io.Put (Tps); end Chrono;
nblk1=3 nid=3 hdr6=4 [0x00] rec0=25 rec1=00 rec2=01 rec3=006 [0x01] rec0=1f rec1=00 rec2=02 rec3=001 [0x02] rec0=0b rec1=00 rec2=00 rec3=004 tail 0x2172b017684ba8619733f 0x42a00088462060003 Free Block Chain: 0x3: 0000 00 00 00 1b 80 07 74 28 74 69 6d 65 29 07 00 0b ┆ t(time) ┆