Prospero Pascal
Z80 Cross Compiler
Development
Tools
Pricing information.

MS-DOS to Z80 Cross Compiler
Data types:
integer range - to bytes) real 7-digit precision, range E-38 to E+38 (4 bytes) char ASCII 128-bit character set (1 byte) boolean false, true (1 byte) enumerated up to 256 constants (1 byte) subranges including 1 and 2-byte integers arrays any number of dimensions records including variant records sets up to 2040 elements (1 to 255 bytes) pointers (2 bytes) files text and non-text
Statements:
assignment
procedure call
GOTO (including jumps out of blocks)
compound (BEGIN...END)
IF...THEN...ELSE...
CASE
REPEAT...UNTIL...
WHILE..DO...
FOR...TO/DOWNTO...DO...
WITH..DO
Operators:
arithmetic + - * / DIV MOD logical AND OR NOT comparison < = > <= <> >= set + - * IN [...]
Procedures and functions:
procedure and function declarations (fully recursive)
value, VAR, procedural and functional parameters
Standard procedures:
reset, rewrite, get, put
read, readln, write, writeln, page
new, dispose, pack, unpack
Standard functions:
abs, sqr, trunc, round, ord, chr
pred, succ, odd, eof, eoln
sin, cos, exp, ln, sqrt, arctan
Data types:
string[n] dynamic-length strings (1 to 255 bytes) longreal 16-digit precision, range E-308 to E+308 (8 bytes)
Statements:
CASE...OTHERWISE
Additional procedures:
delete, insert, str (string handling)
assign, close, erase, rename (CP/M file interface)
append, echo (sequential-access extensions)
update, seek (random-access file handling)
ramfile (read/write to memory)
chain, putcomm, getcomm, (program chaining)
ownerr (exception handling)
poke, oport, (machine-level programming)
move (assignment without type checking)
Additional functions:
concat, copy, length, pos (string handling)
checkfn (is this a correct CP/M filename?)
fstat (does this CP/M file exist?)
cstat (has a key been pressed?)
memavail (how much dynamic storage left?)
rand (random number generator)
addr, peek, iport (machine level programming)
sizeof (how big is this structure?)
Separate compilation:
SEGMENT (as well as PROGRAM)
COMMON (as well as VAR)
EXTERNAL (as well as FORWARD)
Lexical enhancements:
Source file inserts ({$I filename})
Identifiers containing underscore (_)
Hex constants (e.g. 01FFH)
Longreal constants (e.g. 1.0D0)
Pricing and Contact information.
Prospero Pascal
Z80 Cross Compiler
Development
Tools
Pricing information.