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