The following pages are an example of the output produced by the PLASYD compiler. The program in question is used to edit such listings so that source code and error messages are printed, but the store map (which the compiler gives after every segment) is ignored. The use of card reader and lineprinter PERIs may be seen and also the use of PLAN instructions such as SUSBY, SUSWT and MOVE.
If the source code of this program were in a file called TDYP, it could be compiled, and a binary produced, by issuing the command:
TASK PLAS,*CR TDYP,SAVE,NORUN
COMPILED BY YAPQ/2 ON 07/09/73 AT 14/42/22
SENDTO(A. SUBROUTINES)
NAME(TDYP)
PROGRAM MODE(15AM,DBM)
LOCAL SEGMENTS
LOCAL ALL;
PROCEDURE MAIN(X0)
BEGIN
LOWER
LOGICAL CONCHAR,BUFFER(30),
CRCA(4) = (3CNT,0,120,@BUFFER)
LPCA(4) = (2CNT,0,121,CHAR 3 OF @CONCHAR);
LOWEND;
SKIP: !PERI(0,CRCA); X4:= CRCA(1);
IF X4 < 0 THEN !SUSBY(0,3);
X4:= BUFFER(3); X5:= BUFFER(4);
IF X4 = 'COMP' AND X5 = 'ILED' THEN GOTO RESTART;
X4:=BUFFER; X5:=BUFFER(1);
IF X4 = 'PLAN' AND X5 = '(CR)' THEN GOTO RESTART;
IF X4 = 'ENDP' AND X5 = 'ROG ' THEN GOTO CLOSE;
GOTO SKIP;
RESTART: X4:= #51; CONCHAR:= X4;
COPY: !PERI(0,LPCA); X4:= LPCA(1);
IF X4 < 0 THEN !SUSBY(0,2);
ENTRY 0: X4:=' '; BUFFER(20):=X4; X4:= @BUFFER(20);
X5:= X4 + 1; !MOVE(4,9); !PERI(0,CRCA); X4:= CRCA(1);
IF X4 < 0 THEN !SUSBY(0,3);
X4:= BUFFER; X5:= BUFFER(1);
IF X4 = 'SEGM' AND X5 = 'ENT ' THEN GOTO SKIP;
IF X4 = '* ' AND X5 = ' 0' THEN GOTO SKIP;
IF X4 = 'MAST' AND X5 = 'ER S' THEN GOTO SKIP;
IF X4 = 'SUBF' AND X5 = 'ILE ' THEN GOTO CLOSE;
X4 := #41; CONCHAR:= X4; GOTO COPY;
CLOSE; !PERI(0,LPCA); X4:= LPCA(1);
IF X4 < 0 THEN !SUSBY(0,2);
!SUSWT('OK');
END;
SEGMENT MAIN LINK X0 64 WORDS
GLABEL PROCEDURES MAIN LINK X0 ENTRY
INTERNAL PROCEDURES 'NONE'
EXTERNAL 'NONE'
NONPLASYD 'NONE'
DEFINEES 'NONE'
LITERALS 15 WORDS
0 #43575560 COMP
1 #51544544 ILED
2 #60544156 PLAN
3 #30436231 (CR)
4 #45564460 ENDP
5 #62574720 ROG
6 #20202020
7 #63454755 SEGM
8 #45566420 ENT
9 #32202020 *
10 #20202000 0
11 #55416364 MAST
12 #45622063 ER S
13 #63654246 SUBF
14 #51544520 ILE
GLABELS 'NONE'
LABELS
0 SKIP
21 RESTART
23 COPY
58 CLOSE
LOWER PRESET 39 WORDS
0 (I) CONCHAR
1 (I) BUFFER
31 (I) CRCA
35 (I) LPCA
PURE LOWER PRESET 'NONE'
UPPER PRESET 'NONE'
PURE UPPER PRESET 'NONE'
LOWER GLOBAL 'NONE'
PURE LOWER GLOBAL 'NONE'
UPPER GLOBAL 'NONE'
PURE UPPER GLOBAL 'NONE'
SYNONYMS OF ABSOLUTE ADDRESSES 'NONE'
ACCUMULATOR SYNONYMS 'NONE'
COMPILED BY YAPQ/2 ON 07/09/73 AT 14/42/24
****
SUBFILE SUBROUTINES OCCUPIES 5 BUCKETS IN AAAB00015501
**************************************
###### COMPILATION OK
**************************************
COMSOLIDATED BY XPCH 18 DATE 07/09/73 TIME 14/42/53
DENSE PROGRAM #TDYP (15AM/DBM/NON-SHARABLE)
============================================
LOWER DATA
LENGTH 99 WORDS
LW *55 45
LV *55 45
LP *55 45
LR *124 84
LT *124 84
PURE PART
LENGTH 64 WORDS
RR *143 99
SEG *143 99 %%%P ( 0 WORDS)
SEG *143 99 MAIN ( 64 WORDS)
IMPURE PART
NOT USED
SIZE 192 WORDS = 1 PAGES
****************************************
###### CONSOLIDATION OK
****************************************
****************************************
###### ENDTASK ON NORUN