|
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 - metrics - download
Length: 7168 (0x1c00) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Square, seg_02f6f8
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦5a81ac88f⟧ »Space Info Vol 1« └─⟦this⟧
with Text_Io; package body Square is subtype Size is Natural range 1 .. 5; type Table is array (Size, Size) of Token; type Cell is record Line : Size; Column : Size; end record; Cursor : Cell; The_Table : Table; procedure Move (D : Direction) is begin case D is when North => if Cursor.Line < Size'Last then Cursor.Line := Size'Succ (Cursor.Line); else Cursor.Line := Size'First; end if; when South => if Cursor.Line > Size'First then Cursor.Line := Size'Pred (Cursor.Line); else Cursor.Line := Size'Last; end if; when East => if Cursor.Column < Size'Last then Cursor.Column := Size'Succ (Cursor.Column); else Cursor.Column := Size'First; end if; when West => if Cursor.Column > Size'First then Cursor.Column := Size'Pred (Cursor.Column); else Cursor.Column := Size'Last; end if; end case; end Move; procedure Go_To_Center is begin Cursor.Line := 3; Cursor.Column := 3; end Go_To_Center; procedure Deposit (T : Token) is begin The_Table (Cursor.Line, Cursor.Column) := T; end Deposit; function Cell_Busy return Boolean is begin return The_Table (Cursor.Line, Cursor.Column) > 0; end Cell_Busy; procedure Display is package Io is new Text_Io.Integer_Io (Token); begin for I in reverse Size loop for J in Size loop Io.Put (The_Table (I, J)); end loop; Text_Io.New_Line; end loop; end Display; begin for I in Size loop for J in Size loop The_Table (I, J) := 0; end loop; end loop; end Square;
nblk1=6 nid=4 hdr6=6 [0x00] rec0=22 rec1=00 rec2=01 rec3=024 [0x01] rec0=23 rec1=00 rec2=03 rec3=028 [0x02] rec0=0b rec1=00 rec2=02 rec3=000 [0x03] rec0=0a rec1=00 rec2=04 rec3=000 [0x04] rec0=80 rec1=00 rec2=00 rec3=100 [0x05] rec0=42 rec1=46 rec2=3e rec3=3b3 tail 0x215288da684906b81ccab 0x42a00088462060003 Free Block Chain: 0x4: 0000 00 05 00 b7 80 06 20 6c 6f 6f 70 3b 06 00 10 20 ┆ loop; ┆ 0x5: 0000 00 06 03 fc 80 1e 72 2e 43 6f 6c 75 6d 6e 20 3a ┆ r.Column :┆ 0x6: 0000 00 00 00 0f 80 0c 20 20 20 20 20 20 20 43 75 72 ┆ Cur┆