Implemented reading from standard input
This commit is contained in:
parent
d088328294
commit
10bd1f4e9c
@ -145,7 +145,17 @@ package body Shardware is
|
|||||||
procedure Trap (Registers : RegArrU; Memory : in out ByteArr; MemorySize : in out Unsigned_32) is
|
procedure Trap (Registers : RegArrU; Memory : in out ByteArr; MemorySize : in out Unsigned_32) is
|
||||||
begin
|
begin
|
||||||
case Registers(0) is
|
case Registers(0) is
|
||||||
when 0 => null;
|
when 0 =>
|
||||||
|
declare
|
||||||
|
Pointer : Unsigned_32 := Registers (4) - 1;
|
||||||
|
Length : Integer := Integer(Registers (3));
|
||||||
|
CharBuff : String (1 .. Length);
|
||||||
|
begin
|
||||||
|
Get_Line(CharBuff ,Length);
|
||||||
|
for i in 1 .. Length loop
|
||||||
|
Memory (Pointer + Unsigned_32(i)) := Character'Pos(CharBuff (i));
|
||||||
|
end loop;
|
||||||
|
end;
|
||||||
when 1 =>
|
when 1 =>
|
||||||
declare
|
declare
|
||||||
Pointer : Unsigned_32 := Registers (4) - 1;
|
Pointer : Unsigned_32 := Registers (4) - 1;
|
||||||
@ -155,7 +165,7 @@ package body Shardware is
|
|||||||
for i in 1 .. Length loop
|
for i in 1 .. Length loop
|
||||||
CharBuff (i) := Character'Val(Memory (Pointer + Unsigned_32(i)));
|
CharBuff (i) := Character'Val(Memory (Pointer + Unsigned_32(i)));
|
||||||
end loop;
|
end loop;
|
||||||
Put_Line(CharBuff);
|
Put(CharBuff);
|
||||||
end;
|
end;
|
||||||
when others => null;
|
when others => null;
|
||||||
end case;
|
end case;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user