DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦7f70d1359⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »pascmaninp«

Derivation

└─⟦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⟧ 

TextFile

(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◀