PL/M-80-Compiler, V4.0, for SME
Operation of Compiler
Requirements
-SME Standard configuration with 64 Kbyte RAM - Extended
Storage
-Console (CRT or TTY)
-Floppy Disk Storage
-ISIS II Operating System
Files
Input files: -Source
Program file
-INCLUDE
- Files (Optional)
Ouput files: Object
Code File (Optional)
Compiler
Listing File (Optional)
-Information
File for the Program IXREF (Optional)
Work files -PLMTX1.TMP
-PLMTX2.TMP
-PLMAT.TMP
-PLMXRF.TMP
-PLMNMS.TMP
Attention: The temporary filenames created by the
PL/M-80-Compiler are reserved and will be reused by the compiler. Work Files
default to Drive 1 unless the control WORKFILES is used to re-direct.
Typical procedure to do program development on an SME with
2 Drives:
1. Switch on
the SME
2. Insert the
System Diskatte with the PL/M-80-Compiler in Drive 0.
3. Insert a
user (Data-) Diskette in Drive 1
4. Boot the
ISIS-II-Operating system
5. Put the
Primary Program in Drive 1. Use a text
editor to edit.
6. Compile the
Program with Hilfe the PL/M-80-Compiler
7. Link (LINK)
with other Object code modules
Hint: PL/M-80-Program, produced from modules must be
linked together with PLM80.LIB linked in last.
8. Locate
(LOCATE) the Object code to fixed memory locations
9. Load and
Execute the Program
2 PL/M-80-Compiler, V4.0, for SME
2.2 Invoking and
Parameters
Invoking:
[:Fn:]PLM80 <source file name> [<parameters>]
where n is the
Drive Number between; 0<=n<=9
Parameters:
Hint: There’s two ways to use Control Parameters, one in the
Invocation line and the other on Control lines in the Source Program (when used
on a control line the control must start with a Dollar sign $).
1. primary: - may be used in the invocation line of the compiler
- or in the very first line of the source
file
(Primary parameters are marked in the
Table below with an * ).
2. general: - may be used in the invocation line of the compiler
-
may be used
on any line within the source file (with leading ‘$’)
-
such as ‘$include
includefile, $list / $nolist’.
Parameter |
|
Default |
Function |
CODE NOCODE |
|
NOCODE |
Include / Suppress
inclusion of Assembler and Object codes in the compiler listing |
COND NOCOND |
|
COND |
Include / Suppress
text not compiled in the compiler listing |
DATE(date) |
* |
no DATE |
Include
<date> in header line (maximum 9 Characters) |
DEBUG NODEBUG |
* |
NODEBUG |
Include / Suppress
the Symbol table and Line Numbers in the Object code file for symbolic
Debugging with ETA |
EJECT |
|
no EJECT |
Eject paper to top
of form |
IF/ELSEIF/ELSE/ENDIF |
|
- |
General Form: IF
<condition> ELSEIF
<condition> ELSE ENDIF conditionally
compile subordinate clause acording to
<condition> Alowed Operation
for <condition> OR,XOR,NOT,AND,
<,<=,=,=>,>,<> Alowed Operator
for <condition> variables and
constants must be in the range 0 to 255 |
INCLUDE
<filename> |
|
no INCLUDE |
Include a file as input
to primary file |
INTVECTOR(<interval>,<start
address>) NOINTVECTOR |
* |
INTVECTOR(8,0) |
Automaticaly
create or not an interrupt vector |
IXREF(<filename>)
NOIXREF |
* |
NOIXREF |
Specify / Suppress
the Information file for the Program IXREF |
LEFTMARGIN(<column>) |
|
LEFTMARGIN(1) |
All characters to
the left of <column> will be ignored by the compiler |
LIST NOLIST |
|
LIST |
List / Suppress listing in the compiler list file |
OBJECT(<filename>)
NOOBJECT |
* |
OBJECT(<sourcefile.OBJ>) |
Specify / Suppress
creating Object code file |
OPTIMIZE NOOPTIMIZE |
* |
OPTIMIZE |
Enable / Suppress
the optimization of Object code |
PAGELENGTH(<n>)
|
* |
PAGELENGTH(60) |
Specify number of
lines per page (minimum 4) |
PAGEWIDTH(<n>)
|
* |
PAGEWIDTH(120) |
Specify number of
columns (minimum 60, maximum 132) |
PAGING NOPAGING |
* |
PAGING |
Page / Don’t page
the compiler listing file |
PRINT(<filename>)
NOPRINT |
* |
PRINT(<sourcefile.LST>)
|
Specify / Suppress
compiler listing file |
RESET |
|
- |
Reset switches to
0 |
RESTORE |
|
- |
Restore parameters
that were saved with SAVE |
SAVE |
|
- |
Save the state of
the parameters LIST, CODE, COND, and LEFTMARGIN |
SET(<Var1[=
<value1>, …,varN[=<value n>]]) |
|
- |
The SET control allows you to define values
for variables used in the program code from the invocation line. SET Var=123’, if ‘Var’
is used in the sourcecode, it will have the initial value 123. |
SYMBOLS NOSYMBOLS |
* |
NOSYMBOLS |
Include / Suppress
der Symbol table in the compiler listing file |
TITLE(<string>)
|
* |
no TITLE |
Output
<string> in Heading Line |
WORKFILES(:<Drive>:,:<Drive>:)
|
* |
WORKFILES(:F1:,:F1:) |
Specify which
Drives to use for Workfiles |
XREF NOXREF |
* |
NOXREF |
Include / Suppress
the Symbol-Cross reference in the compiler listing file |
2 PL/M-80-Compiler, V4.0, fur SME
2.3 Limitations
Total Elements in one paranthesized Declaration list |
32 |
Total Elements in one Structure |
32 |
Total tag from one Assignment |
9 |
Total Procedures in one Module |
255 |
Total DO-Groups in one Module |
255 |
Nesting of DO-Groups |
18 |
Length one Source program-Input line, inclusive
Carridge return and continuation |
122 |
Length of one Text constant |
255 |
Nesting of INCLUDE-Assignments (open files) |
5 |