mirror of
https://github.com/vishapoberon/compiler.git
synced 2026-04-06 13:22:26 +00:00
Use SYSTEM.ADDRESS in libraries. Build all with -O2. Support INC(a,b) for any int a,b that support a:=a+b.
This commit is contained in:
parent
f1cbbdba28
commit
22a4f8e263
92 changed files with 2752 additions and 2695 deletions
|
|
@ -1,6 +1,6 @@
|
|||
MODULE ulmIO;
|
||||
|
||||
IMPORT SYS := ulmSYSTEM, SYSTEM;
|
||||
IMPORT SYS := ulmSYSTEM, SYSTEM, Platform;
|
||||
|
||||
CONST nl = 0AX;
|
||||
|
||||
|
|
@ -118,6 +118,7 @@ MODULE ulmIO;
|
|||
|
||||
(* ========================= terminal ============================ *)
|
||||
|
||||
(*
|
||||
PROCEDURE ReadChar(VAR ch: CHAR) : BOOLEAN;
|
||||
CONST read = 3;
|
||||
(*VAR r0, r1: INTEGER;*)
|
||||
|
|
@ -125,7 +126,17 @@ MODULE ulmIO;
|
|||
BEGIN
|
||||
RETURN SYS.UNIXCALL(read, r0, r1, 0, SYSTEM.ADR(ch), 1) & (r0 > 0)
|
||||
END ReadChar;
|
||||
*)
|
||||
|
||||
PROCEDURE ReadChar(VAR ch: CHAR) : BOOLEAN;
|
||||
(* Read one byte, returning success flag *)
|
||||
VAR error: Platform.ErrorCode; readcount: LONGINT;
|
||||
BEGIN
|
||||
error := Platform.ReadBuf(Platform.StdIn, ch, readcount);
|
||||
RETURN readcount > 0
|
||||
END ReadChar;
|
||||
|
||||
(*
|
||||
PROCEDURE WriteChar(ch: CHAR) : BOOLEAN;
|
||||
CONST write = 4;
|
||||
(*VAR r0, r1: INTEGER;*)
|
||||
|
|
@ -133,6 +144,13 @@ MODULE ulmIO;
|
|||
BEGIN
|
||||
RETURN SYS.UNIXCALL(write, r0, r1, 1, SYSTEM.ADR(ch), 1)
|
||||
END WriteChar;
|
||||
*)
|
||||
|
||||
PROCEDURE WriteChar(ch: CHAR) : BOOLEAN;
|
||||
(* Write one byte, returning success flag *)
|
||||
BEGIN
|
||||
RETURN Platform.Write(Platform.StdOut, SYSTEM.ADR(ch), 1) = 0
|
||||
END WriteChar;
|
||||
|
||||
PROCEDURE Read*(VAR ch: CHAR);
|
||||
BEGIN
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue