|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 48384 (0xbd00)
Types: TextFile
Names: »pascman«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »pascman«
\f
H. C. Ørsted Institute
Computer Department
Universitetsparken 5
DK-2100 København Ø
HCØ RC8000 pascal system
"pascman"
Anders Lindgård
80/4
September 1980
\f
1
This manual describes the local changes to the pascal system
developed by Bardino, Jensen and Knudsen and may be regarded as an
extension of their manual:
RC8000 PASCAL
REFERENCE MANUAL
Jan Bardino, Bent B. Jensen and Ejvind H. Knudsen
DAIMI MD-29
January 1979
The main extensions are:
1. A text file copying mechanism as found in algol
2. A code procedure set
Copy mechanism(input)
_____________________
The compiler directive:
(*$I <input>*)
where <input> describes a file, will let the compiler switch input
to <input> until an EM character is met. Then the compiler returns
to the file from where the directive was found. The input directive
may be nested to any level. The compiler will list the lines where
the directive was found and the lines where return to a previous file
was made.
Standard procedures
___________________
The standard procedure set has been extended with the following
procedures and functions:
function connectcuri(name: alfa): integer;
function createinternal(name: alfa,param: array of integer): integer;
function description(name: alfa): integer;
function exclude(name: alfa,device: integer): integer;
function firstaddress(var variable: undef): integer;
procedure getevent(buffer: integer);
function include(name: alfa,device: integer): integer;
function initproc(name: alfa): integer;
function modifyinternal(name: alfa,register: array of integer): integer;
procedure moncall(var w0,w1,w2,w3: integer);
procedure regretmessage(buffer: integer);
procedure releaseproc(name: alfa);
function removeprocess(name: alfa): integer;
function reserveproc(name: alfa): integer;
procedure sendanswer(result,buffer: integer, answer: array of integer);
function sendmessage(flag: integer, name: alfa,
message: array of integer): integer;
function startinternal(name: alfa): integer;
function stopinternal(name: alfa, var buffer: integer): integer;
function testevent(var buffer,flag: integer): integer;
procedure unstackcuri;
function waitanswer(buffer: integer, answer: array of integer): integer;
function waitevent(var buffer: integer): integer;
function waitmessage(var name: alfa,var buffer: integer,
message: array of integer): integer;
function wordload(address: integer): integer;
procedure wordstore(address, word: integer);
\f
2
The following procedures and function are only valid using the local
RC8000 monitor.
function cpumask(mask: integer): integer;
procedure monitormode;
procedure sendfurther(name: alfa, buffer: integer);
function systemaddress(name: alfa,func: integer): integer;
Files
_____
The local changes are found in the files described below as an
editing of the standard text files.
editp1
Edits pass1 of the compiler from "tpascal" to "tnpascal"
editp2
Edits pass2 of the compiler from "tpascpass2" to "tnpascp2"
editlib
Edits the library from "tpascallib" to "tnpascallib"
editenv
Edits the environment from "rcpascalenv" to "npascalenv"
(The user has to rename "npascalenv" to "pascalenv" to
use the new environment).
Translation of a typical small program requires 60 k halfwords of
primary store.
Translation of pass1 and pass2 requires at least 140 k halfwords
in primary store.
\f
▶EOF◀