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

⟦12b859fa1⟧ TextFile

    Length: 48384 (0xbd00)
    Types: TextFile
    Names: »pascman«

Derivation

└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
    └─⟦4334b4c0b⟧ 
        └─⟦this⟧ »pascman« 

TextFile

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