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