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