|
|
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: 4608 (0x1200)
Types: TextFile
Names: »pascmaninp«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦eee082fde⟧ »hcøpas«
└─⟦00964e8f7⟧ Bits:30007478 RC8000 Dump tape fra HCØ.
└─⟦b2ec5d50f⟧
└─⟦eee082fde⟧ »hcøpas«
└─⟦this⟧
(mode list.yes
pascman=compose
global pascman
mode list.no
)
*pl 297,18,270,4,3**pn 0,0*
*lw 175**ps 0**sj*
H. C. Ørsted Institute
Computer Department
Universitetsparken 5
DK-2100 København Ø
*nl4*
*ct*
HCØ RC8000 pascal system
"pascman"
*nl8*
Anders Lindgård
*sj* *nl19**lm 120*
80/4 *lm120**nl*
September 1980
revised 1980.12.03
*nl*
*rj**pn 5,0**ps 18*
*lm0*
*np*
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:
*nl**sj*
RC8000 PASCAL
REFERENCE MANUAL
Jan Bardino, Bent B. Jensen and Ejvind H. Knudsen
DAIMI MD-29
January 1979
*nl**rj*
*np*
The main extensions are:
*nl*
1. A text file copying mechanism as found in algol
*nl*
2. A code procedure set
*ns 1,3,Copy mechanism(input)*
_____________________*nl**np*
The compiler directive:*nl*
*se!*
(*$I <input>*)
!se*!
*nl*
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.
*ns 1,3,Standard procedures*
___________________*nl**np*
The standard procedure set has been extended with the
following procedures and functions:
*sj*
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 extract(i: integer; bits: 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 shift(i: integer; shifts: integer): integer;
function startinternal(name: alfa): integer;
function stopinternal(name: alfa, var flag,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);
*rj*
*nl2*
The following procedures and function are only valid using
the local RC8000 monitor.
*sj*
function cpumask(mask: integer): integer;
procedure monitormode;
procedure sendfurther(name: alfa, buffer: integer);
function systemaddress(name: alfa,func: integer): integer;
*rj*
*ns 1,3,Files*
_____*nl**np*
The local changes are found in the files described below as
an editing of the standard text files.
*sj*
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).
*rj**np*
Translation of a typical small program requires 60 k
halfwords of primary store.
*np*
Translation of pass1 and pass2 requires at least 140 k
halfwords in primary store.
*ns 1,3,Call of compiler*
----------------*np*
The compiler is called like this:*nl2*
<resultfile>=pascal <inputfile> <options>*nl*
where:*nl*
<resultfile> and <inputfile> are filedescriptors.
<inputfile> may be empty.*nl*
*sj*<options>::=list.<boolean>/survey.<boolean>,
codesize.<integer>/heap.<integer>
*rj*
*ef*
▶EOF◀