PROGRAM DEMO; VAR OKTOBUY:SEMAPHORE[0]; OKTOBAKE:SEMAPHORE[8]; PROCEED:BOOLEAN; PROCEDURE PRODUCER(PID:CHAR); BEGIN REPEAT WAIT(OKTOBAKE); WRITELN('PROCESS #',PID,' BAKED A LOAF'); SIGNAL(OKTOBUY); UNTIL (PROCEED=FALSE); END; PROCEDURE CONSUMER(PID:CHAR); BEGIN REPEAT WAIT(OKTOBUY); WRITELN('PROCESS #',PID,' BOUGHT A LOAF'); SIGNAL(OKTOBAKE); UNTIL (PROCEED=FALSE); END; BEGIN (*MAIN*) PROCEED:=TRUE; COBEGIN PRODUCER('1'); CONSUMER('2'); COEND; END. SE); END; PROCEDURE CONSUM(OP$,"L")0LL1:LL0(A(OP$,"S")0SE$"SYNTAX ERROR"(X(F$,"/")0230(oȅ(F$,".")0230(҅(F$)10110(F$F$".FOR":250((F$)14110(P(F$,"/"):P0P(F$,".")) P(F$,"/"):P0P(F$,"."):S$(F$,P1):"I",#1,F$)#1,A$)<(A$,1)" "A$(A$,(A$)1))NLL1#DV,A$)`"(1)1710)v,(A$,1)"C"260)6(A$," DATA")0360)@P(A$,"/"):P0350)JP1(P1,A$,"/"):P10350)T460)^XT16:380*hP(A$," INTEGER"):P0390*rXTP1*>|ECEC1:#DV,A$:#DV,XT)"^":SE$:260*W(A$," IF")0460*P1(A$,"IF"):P(A$,"("):P0450*P1P:P(A$,"."):P0450*P1P:P(P11,A$,"."):P0450*P1P:P(A$,")"):P0450*460*XTP11:380+̅(A$,2)" "490+8օ(A$)&H3A (A$)&H2F 490+GXT0:380+gP(A$," PRINT"):P0520+xXTP1:380+P(A$," INPUT"):P0500+SY$" WRITE":RI6:FL0+FLFL1:FL2620+(A$,SY$)0610+&P(A$,"("):P0570,0XT(A$,SY$)RI:380,2:P(A$,")"):P0590,LDXT(A$,"(")4:380,gNP(A$,","):P0610,XXT(A$,"(")1:380,bSY$" READ":RI5:530,lP(A$," FORMAT"):P0260,v(A$,"(")0650,XTP6:380,(A$,")")0670-XTP12:380-(P(A$,"'"):P0700-IP1(P1,A$,"'"):P10700-ZXTP1:380-d260-lƚ#1-Ї#DV,"TOTAL SYNTAX ERRORS=";EC-څDV0750-"TOTAL SYNTAX ERRORS=";EC-EC0770-"EDIT FILE AND RE-COMPILE":-"I",#1,F$:J0. T$S$".TMP":"O",#2,T$.1"SECOND PASS...".C JJ1:#1,A$.V*(1)11070.{4(A$,1)" "A$(A$,(A$)1).>(A$,1)"C"800.H(A$," REAL")0800.R(A$," CHARACTER")0800.\P(A$," DIMENSION"):P0880/fPP10:AC ********************** C DEMO FORTRAN PROGRAM * C ********************** REAL I,J,L,M CHARACTER NAME$,LAST$,ALL$ CHARACTER SPACE$ DIMENSION K(4) DATA SPACE$ / / WRITE(5,100) 100 FORMAT('$ENTER A NUMBER') READ(5,200)I 200 FORMAT(F9.2) WRITE(5,100) READ(5,200)J L=I**2 M=J**2 WRITE(5,300) 300 FORMAT('$YOUR FIRST NAME') READ(5,400)NAME$ 400 FORMAT(A9) WRITE(5,450) 450 FORMAT('$YOUR LAST NAME') READ(5,400)LAST$ ALL$=NAME$//SPACE$//LAST$ K(1)=I K(2)=J K(3)=L K(4)=M CALL COMPARE(I,J) WRITE(5,500)ALL$ 500 FORMAT(' THE NUMBERS, ',A9) WRITE(5,600)L 600 FORMAT(' NUM1 SQRD=',F9.2) WRITE(5,700)M 700 FORMAT(' NUM2 SQRD=',F9.2) CALL LISTER(K) STOP END SUBROUTINE LISTER(K) DO N=1,4,1 WRITE(5,800)N,K(N) 800 FORMAT(' NUM',F2.0,F9.2) END DO RETURN STOP END SUBROUTINE COMPARE(I,J) IF(I.GT.J) GOTO 20 WRITE(5,30) 30 FORMAT(' 2ND NUM LARGEST') RETURN 20 CONTINUE WRITE(5,40) 40 FORMAT(' 1ST NUM LARGEST') RETURN STOP M',F2.0,F9.2) END DO RETURN STOP END SUBROUTINE COMPARE(I,J) IF(I.GT.J) GOTO 20 WRITE(5,30) 30 FORMAT(' 2NC":FR$(FC)"CR"4120045FO$(FC)"N":FP$(FC)""4cLN$(A$,(A$," ")1):FL$(FC)LN$:8004P(A$,"="):P1(A$,","):P2(P11,A$," "):P20P2(A$)14ąP0P1P P2P1 12405·#DV,A$:#DV,P1)"^":#DV,SE$:"EDIT FILE AND RE-COMPILE":#1:#2:T$:5'P3(P11,A$,",")5CFR$(A$,P1,P1(P1))5hP30ST$(A$,P31,P2(P31))5zP30ST$"1"5P3013005 T0$(A$,P11,P2(P11)):13105T0$(A$,P11,P3(P11))5P4(A$,"DO "):P4012306?(P4P43:VR$(A$,P4,PP4):A$"FOR "VR$"="FR$" TO "T0$" STEP "ST$:10006d2P(A$,"SUBROUTINE "):P012306o, <, >, <=, >= 12. STATEMENTS: A. ASSIGNMENT; LHS:=RHS B. CONDITIONAL; IF C THEN S; IF C THEN S1 ELSE S2; C. ITERATIVE; WHILE C DO S; REPEAT S1..SN UNTIL C; FOR I:=E1 TO E2 DO S; D. I/O; READ(),READLN() WRITE(),WRIELN() (NO FILES) E. SEMAPHORES; WAIT(),SIGNAL() (SEE BELOW) 13. WAIT(S) AND SIGNAL(S) ARE PREDEFINED SEMAPHORE OPERATIONS, WHERE 'S' IS AN INTEGER VARIABLE THAT ONLY MAY BE INITIALIZED AT VARIABLE DECLARATION TIME. EX. VAR MUTEX SEMAPHORE[1]; 14. CONCURENCY; ONLY IN THE MAIN PROGRAM, A SINGLE COMPOUND STATEMENT OF THE FORM COBEGIN S1;...S2 COEND IS ALLOWED TO INITIATE CONCURRENT EXECUTION OF THE PROCESSES S1..S2 THAT MUST BE GLOBAL PROCEDURE CALLS. 15. BLOCK STRUCTURE: PROCEDURES AND FUNCTIONS MAY BE NESTED AS USUAL. PARAMTERS MAY BE BOTH VARIABLE AND BY VALUE. RECURSION IS ALLOWED. 16. ONLY 140 VARIABLES 17. MAX OF 10 ARRAYS. 18. MAX OF 7 LEVELS OF NESTING 19. MAX OF 20 PROCEDURES AND FUNCTIONS 20. IDENTIFIERS ARE UPTO 10 CHARS LONG 21. COMMENTS ARE (* AND *) OR { AND } 22. THE FUNCTION EOF AND EOLN TAKE NO PARAMETERS AND ARE FOR THE KEYBOARD 23. WRITE(LN) AND READ(LN) DO NOT TAKE A FILE PARAM. 24. THE PROGRAM SHOULD START WITH PROGRAM NAME; NOT PROGRAM NAME(INPUT,OUTPUT, FILE1,FILE2); ETC. COMPILER ERRORS. FATAL ERRORS FILE NOT FOUND: SOURCE PRG WASN'T FOUND. PROGRAM INCOMPETE: NO MAIN PRG BODY OR FINAL END NOT TERMINATED WITH A PERIOD IDENTIFIER: TOO MANY VARIABLES PROCEDURE: TOO MANY PROCEDURES OR FUNCTIONS STINGS: TO MANY STRING CONSTS. ARRAYS: TO MANY ARRAYS LEVELS: TO MANY NESTING LEVELS. CODE: THE PRG GENERATED TO MANY P-CODE INSTR. NON-FATAL IDENTIFIER: TRYING TO USE A IDENTIFIER AS A KEYWORD EX. READ:=5; TYPE: DATA TYPE MISMATCH KEYWORD: KEYWORD REQUIRED HERE OR IMPROPER USE OF PRESENT KW. PUNCTUATION: IMPROPER PUNCT OR IMBALANCED PARENTHESIS OR BRACKETS PARAMETER: PARAMETER LIST ERROR NOT FOUND: IDENTIFIER NOT FOUND DUPLICATE: DUPLICATE OF PREV DECLARED IDENTIFIER CHARACTER: UNKNOWN CHARACTER TOO SHORT: ILLEGAL NULL STRING ('') TOO LONG: A NUMBER IS TOO LONG ( <-32767 OR >15 DIG) ILLEGAL OP: UNRESOLVABLE SEMANTIC EROR NOTES: 1. IF YOU WANT TO KNOW MORE ABOUT PASCAL-S AND CONCUR- RENT PROGRAMING LOOK IN BYTE: MAY 1988 2. IF YOU WANT THE P/D PASCAL SOURCE CODE SEND $7 TO CARE BLOODWORTH POB 17 SWINK, OK 74761 THIS OFFER GOOD UNTIL JULY 1989, AFTER THAT TIME I MAY HAVE MOVED. 3. IF YOU WANT THE EXECUTABLE FILES (PSC.BIN AND PSI.BIN) BUT DON'T WANT TO PAY THE $$$$ TELEPHONE BILL $$$$ SEND $4 TO THE ABOVE ADDRESS. POB 17 SWINK, OK 74761 THIS OFFER GOOD UNM  4 20,49999:"STANDBY...":"PSILOAD",RL1:0,0:: 2: 65469,0: 65468,63:"TCESHELL":&1:0,0:: 22e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ & M"PSI&]:"STANDBY...": &HFF22,&H10: 65469,0: 65468,63:"TCESHELL",R&p1:0,0:: 2: 2 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ ?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦gM  4 20,49999:"STANDBY...":"PSCLOAD",RL1:0,0:: 2: 65469,0: 65468,63:"TCESHELL":&1:0,0:: 22e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ 4P5&ن"Or44"0Yr0vo0&0 ̧43~4@\P2"5큌%5r5ض'5Ƿ5B %5큌%5r$޷n4@3d204 PASCAL-SBIN I2b 4./44b2b440O 2b2\50 0" 9  @ W9} ' j ;}*}} 'z & 0 @;46؆ 46؆4 1%(- @& & ~ I'#KH&`&\J1F 0H s P&H@K H@K  a H|'/ ~ odja' ~ oH!>'dx 2b&51?'H&9зH}H9&1?&9AB4om&#1 '1 j&l -چ2a5-.+ 454J54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1{m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/=54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . bm&+_J&Z,.H5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N:'/'.& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' y_9+ 7 4@3bO_B*2BA4D 4AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&  o\': 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&AҎROJbbI$blaa\'lcM'D$0'0/0k /$0E0,x+/@M& @g& X['\d^}:L&b3a& &s mc'v&0od2d4&55}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P&_%_DY ja&5 &&5X 4594&U'& m& ' 1N&6m&54610Z&oZ&b'_540GÍO_m& m*5!!&94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok P#N%=##-#:##:#G##G#N#~ޭP9ޭP9n0#Oڿ] & Z& 0 &߶L &1Lf?#' &, ܿ@O&9' LT%\O9ڿٍڦ& ~ڦ')&|#:D%Bn1;45&' %; J&0&O"·ķƷɷʷ̷ηз9ކ` %9φ`% '% KDISK`ERRORINSERT`PROPER`DISKl`PRESS`ENTER4@fhd&1?&5@52fn56CS244@3d0&54@fhd1O_-<54&m&#lm&1 . bm&+_J&Z,.H5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N:'/'.& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' y_9+ 7 4@3bO_B*2BA4D AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&  o\': 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&AҎROJbbI$blaa\'lcM'D$0'0/0k /$0E0,x+/@M& @g& X['\d^}:L&b3a& &s mc'v&0od2d4&55}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P&_%_DY ja&5 &&5X 4594&U'& m& ' 1N&6m&54610Z&oZ&b'_540GÍO_m& m*5!!&94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok M&4TTT054j+X 2a9_9"0b'52"nb0d52bndb" 0fle&52dn5 oZ&nZ&52 n 0$1d9Z& 馠CZ& ֍ۦ&Z& _52@n ㍼&Z& 50 14Z&n5 5Z&2bnPgQi@#g0g=#g=gJ#gJgQ#~ޭP9ޭP9n0#Oڿ] & Z& 0 &߶L &1Lf?#' &, ܿ@O&9' LT%\O9ڿٍڦ& ~ڦ')&|#:D%Bn1;45&' i; J&0&O"·ķƷɷʷ̷ηз9ކ` %9φ`% '% KDISK`ERRORINSERT`PROPER`DISKl`PRESS`ENTER4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZO_444J&f04$#TABLE TOO LARGE; TABLE "ATAB"; SIZEO_4[B44 ; MAXIMUMO_4< 44G&f04$#TABLE TOO LARGE; TABLE "BTAB"; SIZEO_4B44 ; MAXIMUMO_444n&f04$#TABLE TOO LARGE; TABLE "STAB"; SIZEO_4B44 ; MAXIMUMO_4`44=k&c04$#TABLE TOO LARGE; TABLE "CODE"; SIZEO_4B44 ; MAXIMUMO_444Ϯ42b2\54@3d2040S44V0Q44J044=0440044#044pS4 'O_4S442fQ4,4Q442f4 ,4442f4,4442f4,444y2f4,444W2fO_4_&\]'04SYMBOL ARRAY BLOCK STRING CODEO_4lV04Q4444444444 04O_4_&\]'R04 SYMBOL TABLEO_4ͮ04...NAME... REF LV ADR OBJ TYPO_4O_ZQ4Z.Ѯ04Z440ܠ044Z44ۮ0ܡ044Z440ܢ044Z440ܤ044Z440ܥ044Z44c0ܕ04 4Z44B0ܕ044442hO_4_&\]'ʮ04Z440ܕ04 4{Z44߮0ܢ44 Z440ܤ44Z440ܥ442b04Z44{0ܠO44Z44\0ܡO44ZZ&2bO_4_&\O44O__,\]'W0404 ARRAY TABLEO_4xb04 LOW HIGH ESZ IXTYP ELTYPO_4J4Z4Z.a04ZXIXIXI0Z044 ZXIXIXI0[044 ZXIXIXI0\044 qZXIXIXI0^044 TZXIXIXI0`044 7 O_4_&\]'04ZXIXIXI0\44 ZXIXIXI0^44 ZXIXIXI0`44 2b04ZXIXIXI0ZO44 ZXIXIXI0[O44  ZZ2bO_4_&\O44_,\]'J04 04 BLOCK TABLEO_4 ~ h04 LAST VSIZEO_4 ] GZ4Z.04ZXIXI0044 ZXIXI0044  O_4_&\]'@04ZXIXI044 |ZXIXI044 a ZZW2bO_4_&\]'*04 s04 STRING TABLEO_4 i S44P455V44P452b4O__'\UO_ZV44b2b4Z.O_XO4X.n04Z4P4Q4X004 2bO_4&.04Z4P44X0O44 j2bXX 2b04 sZZ`2bU]'O_Z44P452b44b2b4Z.n04V4P44Z004 2bO_4&.04V4P4Y4Z0O44 2bZZ 2b04 O_4&004 04 OPC LEVEL ADDRESSO_4 } gO_Z4Z.04ZXIXI0P044ZXIXI0Q044ZXIXI0R044 O_4&T04ZXIXI0P44 ZXIXI0Q44 {ZXIXI0R44 c ZZ82b2\54@3d2ܖ044@ h2d04 CONCURRENT PASCAL-S INTERPRETERO_4 a K04 REVISION O_4 <0a4O_4 / 04 04OBJ FILENAME: O_4 2b04044,04&04PS.OUTf2b0404OBJO_4\2~044@S2dO_'.04I CAN'T FIND THE FILEO_4v`4@2b04O_4V4N4F4>46O_4 40D04 F  2b4 4v0D04 T  2bC4@ 2bXIXI04 44 4*4b2b,/04**** PROGRAM TO LARGE ****O_4l4@2b044@^2d2\50 0" 9  @ W9} ' j ;}*}} 'z & 0 @;46؆ 46؆4 1%(- @& & ~ I'#KH&`&\J1F 0H s P&H@K H@K  a H|'/ ~ odja' ~ oH!>'dx 2b&51?'H&9зH}H9&1?&9AB4om&#1 '1 j&l -چ2a5-.+ 454J54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1{m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/=54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm& 420D044'2b&Z4)410싃XI0_4O__/\O4Z4)410싃XI0_4_,\]'B04Z4)41~0싃XI0_44&2bS4@ݢ2b404Z4)41<0싃XI0_O44&2bZ4)414Z4)40044b2b500 &S4@2b &^Z4)404Z4)40044b2b500 Z4)40k4Z4)40Z04XI0_500 Z4)40%04O_'IZ4)404Z4)4/04XI0_500 k^44b2b^Z4)4/4O_500 O_\O_4)4/4^4O__&\500 !&Z4)4/F4Z4)4/50500 Z4)4/4Z4)4/04XI0_500 Z4)4.4Z4)4.04XI0_500  "&XZ4)4.{0싃XI4Z4)4._0싃XI0_싃XI0_50_0  U#&pZ4)4.0싃XI42~2~Z4)4-0싃XI0_44@2d5CSO44@2d550_0  $&RZ4)4-0싃XI4Z4)4-0싃XI0_CS50_0  &&Z4)4-I044b2bXI0_싃XI4Z4)4-0싃XI0_50_0 Z4)4,4Z4)4,044b2b500  -&Z4)4,4Z4)4,044b2b500 Z4)4,Z0싃XI42~Z4)4,<0싃XI0_4Z4)4,04XI0__&\O44@!2d550_0  .&Z4)4+4Z4)4+044b2b500 Z4)4+0싃XI42~Z4)4+f0싃XI0_4Z4)4+D04XI0__'\O44@K2d550_0  )/&Z4)4*4Z4)4*044b2b500 Z4)4*0싃XI42~Z4)4*0싃XI0_4Z4)4*n04XI0__/\O44@u2d550_0  S0&Z4)4*4Z4)4*044b2b500 Z4)4)0싃XI42~Z4)4)0싃XI0_4Z4)4)04XI0__-\O44@՟2d550_0 }1&Z4)4)C4Z4)4)2044b2b500 Z4)4)0싃XI42~Z4)4(0싃XI0_4Z4)4(04XI0__,\O44@2d550_0 2&Z4)4(m4Z4)4(\044b2b500 Z4)4(,0싃XI42~Z4)4(0싃XI0_4Z4)4'04XI0__.\O44@2d550_0 3&Z4)4'4Z4)4'044b2b500 Z4)4'V0싃XI42~2~Z4)4'60싃XI0_44@,2d5O42~Z4)4'0싃XI0_44@2d5O44@2d550_0 4&Z4)4&4Z4)4&044b2b500 Z4)4&q0싃XI4Z4)4&U0싃XI0_4Z4)4&304XI0_50_0 +5&Z4)4%4Z4)4%044b2b500 Z4)4%0싃XI4Z4)4%0싃XI0_4Z4)4%r04XI0_4b2b50_0 d8&Z4)4%*4Z4)4%044b2b500 Z4)4$0싃XI42~2~Z4)4$0싃XI0_44@п2d5O42~Z4)4$04XI0_44@Ј2d5O44@К2d550_0 x9&Z4)4$>4Z4)4$-044b2b500 Z4)4#0싃XI4Z4)4#0싃XI0_4Z4)4#04XI0_4#50_0 :&Z4)4#z4Z4)4#i044b2b500 Z4)4#904XI0_4O_&S4@W2b|Z4)4"0싃XI4Z4)4"0싃XI0_4Z4)4"04XI0_4"5550_0 ;&Z4)4"q4Z4)4"`044b2b500 Z4)4"00싃XI0_4O_&S4@U2b|Z4)4!0싃XI4Z4)4!0싃XI0_4Z4)4!04XI0_4!52b50_0 >&52~0442d5]'S4@ͦ2b 04l?&704Q4QO_Q4', S4@Z2b-04}04T44)fS4@*2bSO4O_'2\54@3dD&J04IDENTIFIER LENGTH(O_4*B44ˍ )INCORRECT.O_4 !&d04#"TABLE TOO LARGE; TABLE "TAB"; SIZEO_4B44i  MAXIMUMXI0_4O_,6XI4XI0_44b2b50_0 "Z4)4C4500 O_\"&XZ4)4C0싃XI0_Z4)4Cp4Z4)4C_044b2b500 42~44@2d54O__.\O44)4B04_'\]'744 44B52b44b2b 4O_/0XI4XI0_450_0 4)4B_4O_500 !m&V&Z4)4B)4Z4)4B04500 Z4)4A04Z4)4A0,S4@ 2bLZ4)4A0싃XI42~2~04442d5O44@2d550_0 &Z4)4AU4Z4)4AD04500 Z4)4A04Z4)4A0,S4@72bLZ4)4@0싃XI42~2~04442d5O44@2d550_0  &$Z4)4@4V500  &Z4)4@U0싃XI0_4O_&!Z4)4@*4V500 Z4)4@ 4Z4)4?044b2b500 & Z4)4?044b2bXI0_4Z4)4?0싃XI0_-HZ4)4?a044b2bXI0_싃XI450_0 bZ4)4?4Z4)4?044b2b500 Z4)4>4V500 &Z4)4>044b2bXI0_XI0_44Z4)4>_0싃XI0_-?XI450_0 Z4)4>4V500 AZ4)4=4Z4)4=044b2b500 & V44=0ܢ싃XIXI0Z4)4=044Z4)4=i0,S4@2bZ4)4=>4Z4)4=-04500 Z4)4=044b2bXI444b2b50_0 Z4)4<0싃XI4V50_0 &Z4)4<4500 Z4)404500 Z4)4604Z4)450,S4@12b,Z4)450싃XI4V50_0 &Z4)450싃XI0_ZZ4)45y4Z4)45h044b2b500 O_XU44b2b4X.(Z4XXI4V50_0 XX 2b&2~044()2d5]'S4@2bV'&A04Z4)440싃XI0_싃XI0_044(2bT&L0404(2bZ4)44O0싃XI0_싃XI4O50_0 Z4)444Z4)44044b2b500 &Z4)430싃XI0_VZ4)434Z4)43044b2b500 44, S4@ߔ2b040O44(2b44b2b44O_&&V4& 44,S4@2bV'&604Z4)420싃XI0_44'2bC&V042~Z4)42A0싃XI0_44@72d5O4W4PDP&ن"Or44"0YrD0Wyo0&0 ̧43~4@jPC2"5큌%5r5ض'5Rʷ5B %5큌%5r$޷n' 2\5A42.0i4@3dĮ4B4U[52bDĮ42\54@3d2~ZV 4ZZ42~ 442d54Z4U52bZZ4)4T0CSO4Z4)4T04O__'\O4Z4O__.\]'=Z44b2bZZ44 44T]52bZZZ4O_/ 42b \2\54@3dB4&EO_E2\54@3dC]'DO_D2\54@3d2~Į04I O4'Į04IĮ04 HALT AT O_4HX44H IN PROCESS O_4H2bĮ04V44Hg BECAUSE OF O_4H2bO &!Į04 DEADLOCKO_4HzHdV&&Į04 DIVISION BY 0O_4HLH6(&&Į04 INVALID INDEXO_4HH&'Į04STACK OVERFLOWO_4GG&(Į04TOO MUCH OUTPUTO_4GG&&Į04 LINE TOO LONGO_4GG{m&/Į04OPCODE NOT IMPLEMENTEDO_4GZGD6&.Į04READING PAST END OF FILEO_4G!G Į04FĮ04PROC# ACTIVE SUSPEND PCO_4FFϮĮ04==========================O_4FFO_Z 4Z.Į04Z44F8 O_4F|Z4)4P0O4 4PͮĮ0D044FI2bĮ04Z4)4P04 4EZ4)4P044EEZZL2bĮ04EԮĮ04** GLOBAL VARIABLES ***O_4EEXIXIĮ04Z4Z.Z44OĮ0ܤ4&Z44OЮĮ0ܠO4&Z44OĮ0ܡO4Į04LL]'Z44OĮ0ܡO'&hĮ04Z44OOĮ0ܕ04O_4D̍ = O_4DZ44O#Į0ܥ싃XI0_44D?D| &Į04Z44N߮Į0ܕ04O_4D\ = O_4DO2~Z44NĮ0ܥ싃XI0_442d5O4 4NĮ0D04O_4CCw&oĮ04Z44NLĮ0ܕ04O_4Cɍ = O_4CZ44N Į0ܥ싃XI0_4O44C]CoZZ2bĮ42b2\54@3d2꾮044D(2d04 CONCURRENT PASCAL-S INTERPRETERO_4CC 04 REVISION O_4B04O_4BBծ04BXI4O_50_0 XI4O_50_0 XI4CS50_0 XI4XIXI050_0 O_4)4L4O_500 O_4)4L4O_500 O_4)4L4XI4O_500 O_4)4L^4XIXI044b2b500 O_4)4L#4XI0_44L 0ܥ500 O_4)4K4500 O_4)4K4 4 44K4b2b500 Z 4Z.pZ4)4Kw4O_500 Z4)4KV4XI4O_500 Z4)4K)4O_500 Z4)4K4O_500 Z4)4J4Z44b2b4)4J04500 Z4)4J4Z4)4J0444b2b500 Z4)4JW4Z4)4JF044b2b500 ZZ2bO_^O_ZZVO_[O_\O_SO_QO_TO_4)4I0]' O_Z.\4O_& 4@2b\44b2b\0T4Z4)4I~0XIXI0P044I6Z4)4IS0XZ4)4I:4Z4)4I)04500 []'(T4&^4^^ZO_4_&\]'T474H52b4O_&204PROC# PC OPCD OPNDY OPNDXO_4>=V04Z44=X44=T44=2b04V44=pU44=c=T4TT&Z4)4G4Z4)4G04500 Z4)4G04Z4)4G0,S4@2bQZ4)4G}0싃XI4Z4)4Ga4UXI04V50_0 &[&Z4)4G!4Z4)4G04500 Z4)4F04Z4)4F0,S4@2b\Z4)4F0싃XI4Z4)4F4UXI04VXI0_50_0 %w&Z4)4F=4Z4)4F,04500 Z4)4F04Z4)4E0,S4@2bgZ4)4E0싃XI4Z4)4E4UXI04VXI0_싃XI0_50_0 $&VUZ4)4EC0Z4)4E+4XI4500 44b2b4XI0_4&#& [#&'O_[O_4)4D4O_500 #&Z4)4Dy0싃XI0_Z4)4DV4Z4)4DE044b2b500 Z,.H5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N:'/'.& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' y_9+ 7 4@3bO_B*2BA4D 4AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&  o\': 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&AҎROJbbI$blaa\'lcM'D$0'0/0k /$0E0,x+/@M& @g& X['\d^}:L&b3a& &s mc'v&0od2d4&55}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P&_%_DY ja&5 &&5X 4594&U'& m& ' 1N&6m&54610Z&oZ&b'_540GÍO_m& m*5!!&94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok Pxz #wx#xx#xx#~ޭP9ޭP9n0#Oڿ] & Z& 0 &߶L &1Lf?#' &, ܿ@O&9' LT%\O9ڿٍڦ& ~ڦ')&|#:D%Bn1;45&' y܍; J&0&O"·ķƷɷʷ̷ηз9ކ` %9φ`% '% KDISK`ERRORINSERT`PROPER`DISKl`PRESS`ENTER4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/'V4`4]5'DV1?&ZV4/}V4XX4,X4 4b2bXX4404Į412h0404w,4Z44R004b2bX hO_V44&V4XO_ X&104,4,Z440D04+42b&104,4Z440 04++2b&)04,-Z44p0042bP&*04,--[Z44>004N2b&)04,4WZ44 0o042b&)04B,Z440>042b&)04A,Z440 042b& O_y&040T4Į42fT T44LB404Į42l04046,4^Z440s04!2b &040T4Į4Z2f040R4Į4D2fT444RVV V44DT4G04Į4j2l0404,4Z44_004o2b? & O_- &)04D,9Z440~04,2b &040T4Į4e2fT4,T44b2bTT4  44LB4U04Į4x2l0404,PCR2bZ &040T4Į42f040R4Į42fT44*4RVV4  44LB404Į42l0404,PCR2b& O_&V4&~040T4Į42f040R4Į42fT44]4RVV V44LB404Į4 2lO_]'504[4904]4,2b04042bO_04042bCS]'O_2\54@3d04044@2f4040442h0404r04r2b2\54@3d 4_,\]'s4_&\]'04LDS#2bH4_&\O44 _'\]'04STS2bO_W 4_,\]'4&04CMPD2b4 &04CMPYz2bk4&04LDYW2bH4_&\O44_'\]'04STY2bO_ 4?&04SWI22bf 4 _,\O4 40_/\]'/04L4Ү042b04042bO_]'N040442f4040442h040400402b2\54@3d 4_,\O4 4_/\]'P4&04CMPU2b+4 &04CMPS2bO_, 4?&04SWI3|2bO_]'N040442f4040442h0404$04$2b2\54@3d2O_O_042b040 44C2f 4_&\]' 4_&\]'4O_,040 442f 4]5'DV1?&Z 4XZ4]5'DV1?&VZ4TX4]5'DV1?&RX4PZ40O404b2b4Q4004X444440442j0O4 &O_4500 4&04ANDCCn2b 4&04BSRO2b 4&04FCB02b 4&04FCB2b 4&04FCB2b 4&04FCB2b 4&04FCB2bZ4_&\O4X4_'\]'0404yA42bZ4_&\O4X4_'\]'04046B4^2b 4^_&\O4 4N_&\]'04FCB 2b0O4F&O_0O4F'84O_& 4@2b 4& 4@12b4@i2bCS]'N04FCB i2b44LB40442l O_ O_(44O_, 42\50 0" 9  @ W9} ' j ;}*}} 'z & 0 @;46؆ 46؆4 1%(- @& & ~ I'#KH&`&\J1F 0H s P&H@K H@K  a H|'/ ~ odja' ~ oH!>'dx 2b&51?'H&9зH}H9&1?&9AB4om&#1 '1 j&l -چ2a5-.+ 454J54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1{m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/=54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . bm&+_J&4@2bɜɜCS]'4@2bɜ]'4@2b044@%2d044@% 2d04&04DONEO_4&&2\54@3d20F4404440450 450 450 450 0404$2b04O4+2b4/34O0404+O4+2b 4044/!0404+D2b2\54@3d20U44S44b2bSZZ4S44.4O__.\O4Z4S44.4_-\]'Z4S44.TU44b2b44.eRR44b2b4 4.}55ZR4Z4 4.44b2bXX44b2b44.D5PX4P44b2b44-4b2b44b2bTZ40BOVV44-554, 4V4]' P4 P4V50 4Z40BO50 450 4P44b2b50 4 50 V4]'450 450 0W404!2b4T50 0W404!2b2\54@3d24ɱ'D0ɥ44ɖ4b2b44Ʌ4b2b404Q4+42Y0a40[4!]2bM[O2\54@3dO_4Q4+004A@NEG FCB FCB COM LSR FCB ROR ASR LSL ROL DEC FCB INC TST JMP CLR '2b4Q4+0t04A@FCB FCB NOP SYNCFCB FCB LBRALBSRFCB DAA ORCCFCB ANDCSEX EXG TFR '[2b4Q4+;004A@BRA BRN BHI BLS BHS BLO BNE BEQ BVC BVS BPL BMI BGE BLT BGT BLE &2b4Q4*0ĺ04A@LEAXLEAYLEASLEAUPSHSPULSPSHUPULUFCB RTS ABX RTI CWAIMUL FCB SWI &2b4Q4*0]04A@SUBACMPASBCASUBDANDABITALDA STA EORAADCAORA ADDACMPXJSR LDX STX &D2b4Q4*$004A@SUBBCMPBSBCBADDDANDBBITBLDB STB EORBADCBORB ADDBLDD STD LDU STU %2b0N45010009635963596%2b0D40123000044445555%2bO_44)0^04,CC%2b44)l0>04,A%m2b44)M004,B%N2b44).004,DP%.2b44)004,X%2b44(004,Y$2b44(0Ģ04,U$2b44(0ă04,PC$2bO_44(0Ĕ04D4$2b44(s0u04X4$2b44(T0V04Y4$2b44(50704U4$c2b44(004S4$D2b44'004PC#2b44'004?4$2b44'0û04?4#2b44'0Ü04A4#2b 44'{0}04B4#2b 44'\0^04CC#]2b 44'=0?04DP#>2b 44'0 04?4#L2b 44&004?4#-2b44&004?4#2b44&004?4"2bO_44&004X4"2b44&004Y4"2b44&e004U4"2b44&F0¨04S4"t2bO_XI4500 XI4500 XI4500 XI4500 XI4500 XI4 50q0 XI4@50Y0 XI450A0 040123456789ABCDEF!j2b2\5M4@3d40O404b2b '& '& '& 0'1'2'3& p4'5'6'7& G'(' '''& &04 G2b4_&\O44_&\]'04#4 72b4&04<4 2b4_&\O4 4 _,\O4 40_/\]'2\54@3d2O_O_O_O_ 040V4Į42fF&04R2b x&kV4,V44b2bV4V44LB4"04Į42l4V  &v040T4Į4"2fV44"4TR4R44LB4"/04Į4R2l4R  &2bTT 2b04\& O_0444Į42h04042b &V 04V4]5'DV1?&44004,4V444q0s042b0O4?_&\O40O4?_&\O40O4?_&\]'O_0404 2b/ &4~_&\]'cC4Į쉜_,\O44Į쉜_/\O4O4O__&\]' O_C42b2\54@3dO_C4"_.\O44/_-\]'\C4Į쉜_,\O44Į쉜_/\O4O4O__&\]'O_C2\54@3dO_C45_&\O447_&\O444_&\]'C2\54@3d49_&\C2\54@3d4;_&\C2\54@3dO_E4_&\O4B44_&\O4B44P_&\]'E2\54@3dO_E4_&\O4B44_&\]'E2\54@3d2O_Z4Z."ZXI4500 ZZ 2bCSȮĮ쉜Į04h>R04DISASSEMBLING...O_4>D2b쉜Z׮扜]'2\52~Z44p2d5]'Z404040404040404040Ȥ40d44!20$40Ȥ4CP 4Cx0d4CI2b0}4Z4LB4F0$4 4F4@J2*V44b2b4V.Z4Z2~Z442d5]'04*44<2bZ404040404040404040Ȥ40d44!20$40Ȥ4Bb 4B0d4B[2b04Z4LB4E0$4 4E4@\2*VV 2b4@2bZ4ZZ4쉜,$04DONEO_4ABDEFTPASCAL  }LISP BAS#DSTRAC11BINDSTRAC11DOC(PASCAL-SBIN,mINTRPRTSBINPSCLOAD BINPSC BASPPSILOAD BIN<PSI BASPPSILOAD BASPSCLOAD BAS?PASCAL-SDOCTEST PAS' DEMO PASORDEMO FORq:STRING;VAR R:REAL); VAR X,Y,Z:INTEGER;S1:STRING(30); BEGIN S1:=S+'='+S;ERRORNUM:=BASIC(S1);R:=0; X:=WORD[57];Y:=BYTE[X]; IF Y=0 THEN BEGIN R:=0.;EXIT;END; Z:=BYTE[X+1]; Z:=Z OR 128; R:=((Z*256.+BYTE[X+2])*256.+BYTE[X+3])*256.+BYTE[X+4]; IF BYTE[X+1]>127 THEN R:=-R; Y:=Y-128-31; IF Y<0 THEN FOR X:=0 DOWNTO Y DO R:=R/2. ELSE FOR X:=0 TO Y DO R:=R*2.; END; PROCEDURE FRMBASSTR(VAR S1,S2:STRING(255)); VAR X,Y,Z:INTEGER;S3:STRING(20); BEGIN S3:=S1+'='+S1;ERRORNUM:=BASIC(S3); X:=WORD[57]; Y:=BYTE[X];X:=WORD[X+2]; S2[0]:=CHR(Y); FOR Z:=X TO X+Y-1 DO S2[Z-X+1]:=CHR(BYTE[Z]); END; PROCEDURE TOBASSTR(VAR S1,S2:STRING(255)); VAR X,Y:INTEGER;S3,S4:STRING(20); BEGIN DECODE(ORD(S2[0]),4,S3); S4:=S1+'=STRING$('+S3+',32)'; ERRORNUM:=BASIC(S4); X:=WORD[57];X:=WORD[X+2]; FOR Y:=1 TO ORD(S2[0]) DO BYTE[X+Y-1]:=ORD(S2[Y]); END; %L (*DEMO FILES*) PROGRAM BASIC1; VAR S:STRING(255); X:INTEGER; I:INTEGER; R:REAL; (*THIS IS A DEMO/TUTORIAL FOR THE basic FUNCTION. GIVE IT THE COMMAND YOU WANT BASIC TO EXECUTE AND IT WILL ENCODE AND THEN EXECUTE THE INSTRUCTIONS.*) BEGIN WRITE('CMD: '); READLN(S); WHILE S<>'' DO BEGIN X:=BASIC(S); WRITELN(X); WRITE('CMD: '); READLN(S); END; END. PROGRAM BASIC2; VAR S1,S2:STRING(255); R1,R2:REAL; X:INTEGER; ERRORNUM:INTEGER; %CBASICIO (*THIS IS A DEMO/TUTORIAL FOR PASSING REAL AND STRINGS TO AND FROM BASIC. JUST BE SURE TO HAVE ENOUGH SPACE IN THE BASIC AREA FOR IT. *) BEGIN R1:=13.853; TOBASREAL('A',R1); FRMBASREAL('A',R2); X:=BASIC('PRINTA'); WRITELN(R1:15:10,R2:15:10); R1:=-13.853; TOBASREAL('A',R1); FRMBASREAL('A',R2); X:=BASIC('PRINTA'); WRITELN(R1:15:10,R2:15:10); R1:=3.1415926535; TOBASREAL('A',R1); FRMBASREAL('A',R2); X:=BASIC('PRINTA'); WRITELN(R1:15:10,R2:15:10); R1:=.7038; TOBASREAL('A',R1); FRMBASREAL('A',R2); X:=BASIC('PRINTA'); WRITELN(R1:15:10,R2:15:10); R1:=-.7038; TOBASREAL('A',R1); FRMBASREAL('A',R2); X:=BASIC('PRINTA'); WRITELN(R1:15:10,R2:15:10); S1:='HELLO THERE'; TOBASSTR('A$',S1); FRMBASSTR('A$',S2); X:=BASIC('PRINTA$'); WRITELN(S1,S2); S1:='GOODBYE HERE'; TOBASSTR('A$',S1); FRMBASSTR('A$',S2); X:=BASIC('PRINTA$'); WRITELN(S1,S2); END. AL('A',R2); X:=BASIC('PRINTA'); WRITELN(R1:15:10,R2:15:10); S1:='HELLO THERE'; TOBASSTR('A$',S1); FRMBASSTR('A$',S2); X:=BASIC('PRI#&':IF AN ERROR OCCURS TYPE GOTO 30&:THIS PROGRAM IS SLOW BECAUSE IT IS BASIC AND BECAUSE IT PROCESSES SOME OF YOUR INPUT AS YOU TYPE, SO TYPE SLOWLY':IF YOU MAKE AN ERROR DELTE IT IMMEDIATELY TO AVOID FILLING THE INTERPRETER'S MEM WITH MISTAKES. DO IT BY CLOSEING THE REMAINING OPEN PARENTHESES. BACKSPACING WILL NOT WORK. WHEN THE ERROR PROMPT RETURNS TYPE (%) TO DELETE THE MISTAKE.':*BASIC LISP VER1.2':BY RANDY BEER; AUG.,1981(:ADDAPTED FOR THE COLOR COMPUTER BY GEORGE C. SIEVERS; MAR.,1983(:PUBLISHED IN THE APRIL 1984 ISSUE OF HOT COCO. BASED ON THE ONE IN 80 MICROMARCH,APRIL,MAY 1983. (IT ALSO INCLUDES A TUTORIAL ON LISP))O :INCLUDES CHANGES IN THE LOAD,SAVE AND PRINTF ROUNTINES THAT ENABLE PRINTF TO WORK WITH A PRINTER AND ALLOW LOADS FROM DISK OR TAPE AND SAVES TO DISK,TAPE SCREEN OR PRINTER) 1::550:LM(1100),PL(1100),OB$(90),PT(90),ST(350),FP(50),T1(15),X1(15):N3000) "BASIC LISP VER 1.2"::"INITIALIZING.......WAIT":* J048:OB$(J),PT(J)::PE48:FE1:OB$(46)(13):FP(1)*E J11099:PL(J)J1::PL(1100)N:BS1*T3001:LP3043:RP3044:CC33:N158:N244:LB3031:QU3030:NB3032*A0:QT0:J0::"$ ";:16:46:36:15*J10:24*25:XLP +J1J11:X1(J1)BS:T1(J1)BS:LM(T1(J1))0:BSPL(BS):Q +)17:XRP 22+^LM(T1(J1))0PL(T1(J1))BS:T1(J1)BS:BSPL(BS)+yLM(T1(J1))X:Q :19+PL(T1(J1))N:XX1(J1):LM(X)0PL(X)N PL(X)BS:BSX:XN+J1J11:+A$:A$""24:A$;:KK(A$):,KK40XLP:35,%KK41XRP:J11J12QT :35,{KK39Q1:QTQT1:18:LM(T1(J1))QU:Q0:24:17:Q1:20:Q0:22:QTQT1:,KKCC 24:25:30,KKCC KK40KK41KK3931,I$I$A$:24:29,(I$)N1 (I$)N2 34- J0PE:OB$(J)I$XJN:I$"":J0::-B!J0:PEPE1:OB$(PE)I$:XPEN:I$"":-^"WW(I$):159:I$"":-i#24:-{$A$(13)-%J11:X1(J1)X:38::-&X5000"; UNPRINTABLE MACHINE CODE";::X4000#DV,FP(X4000);:-'XN #DV,OB$(XN);:.(X0.2)LM(X)QU #DV,"'";:XLM(PL(X)):38:.Q*J1J11:X1(J1)X:#DV,"(";.k+XX1(J1):XLM(X):38.,XX1(J1):J1J11:XPL(X):XN #DV,")";::XN #DV," . ";:38:#DV,")";::X0X10.-J1J11:X1(J1)X:#DV," ";:43/.FP(1):X4000X5001XN XT /E/XN VX:XPT(XN):X0A0ER6:162:/y0ST(A1)TT:ST(A2)AL:ST(A3)C:ST(A4)E:AA4/1ALPL(X):EX:XLM(X):46/2XN X4001ER1:162/3X600053:X500052:LM(X)LB 55:LM(X)NB 56:ER1:1620c4TTX:64:(TT5000)67,71,75,77,81,83,123,122,86,88,95,101,105,106,108,111,114,124,130,126,146:5405RX:XAL:(R6000)80,16,93,97,104,121,117,119,175,172,172,151,153,15506EST(A):CST(A1):ALST(A2):TTST(A3):AA4:1%7TTAL:EPL(X):ALLM(E):64:ALTT:64:CLM(E):AAST(A):581E8TTAL:EPL(X):ALLM(E):641l9ST(A1)TT:ST(A2)1:CLM(E):AA11:CN PT(LM(C)N)ST(A):AA1:CPL(C):581;AT(A)1:TTPL(E)1CN PT(LM(C)N)ST(A):AA1:CPL(C):6229?AAST(A)1:542d@C0:ALN C0AA1:ST(A)0:66:662AXLM(AL):46:CC1:AA1:ST(A)X:PL(AL)N ALPL(AL):652BAA1:ST(A)C:2CST(A)1ER2:1622DAA1:ST(A)N XN:AA1:3EST(A)2001ST(A)0XLM(ST(A)):AA1:3-FER4:1623FGST(A)1ER2:1623fHAA1:ST(A)N XN:AA1:3IST(A)2001ST(A)0XPL(ST(A)):AA1:3JER4:1623KST(A)2ER2:1623LAA1:T2BS:BSPL(BS):LM(T2)ST(A1):L2(T2)ST(A):AA2:XT2:4MST(A)2ER2:1624DNAA1:ST(A1)N ST(A1)4000ER3:1624dOPT(ST(A1)N)ST(A):AA2:4sPXLM(AL):4QWW0:J1ST(A):AA1:ST(A)4000ST(A)5001WWWWFP(ST(A)4000)::ER5:1624RAA1:159:4SST(A)2ER2:16258TAA1:ST(A)4001ST(A)5000ST(A1)4001ST(A1)5000ER5:1625mUWWFP(ST(A1)4000)FP(ST(A)4000):AA2:159:5VWW1:J1ST(A):AA1:ST(A)4000ST(A)5001WWWWFP(ST(A)4000)::ER5:1625WAA1:159:5XST(A)2ER2:1626YAA1:ST(A)4001ST(A)5000ER5:1626DZAA1:ST(A)4001ST(A)5000ER5:1626g[FP(ST(A1)4000)0ER7:1626\WWFP(ST(A)4000)FP(ST(A1)4000):AA1:159:6]LM(AL)N LM(AL)4000XLM(PL(AL)):46:PT(LM(AL)N)XELSEER3:1627^ALPL(AL):ALN ER2:162:ALPL(AL):ALN :9378_ST(A)1ER2:1627q`AA1:ST(A)N ST(A)5000XT:AA1::XN:AA1:7aCLM(AL):XLM(C):46:XN ALPL(AL):ALN RETUENELSE41507bALPL(C)7cXLM(AL):46:PL(AL)N :ALPL(AL):997dALPL(C)8eST(A)2ER2:16286fAA1:ST(A)ST(A1)XT :XN8BgAA2:8hPL(E)BS:BSE:XLM(AL):PT(XN)AL:LM(PL(AL))N LM(AL)LB::LM(LM(PL(AL)))LB LM(LM(PL(AL)))NB PT(XN)LM(PL(AL))::LM(AL)LB:9OiST(A)0XN:AA1::XBS:FST(A):AAF:J1F:ST(A)0ER4:162:GBS:BSPL(BS):LM(G)ST(A):AA1::PL(G)N:AAST(A)1:9mjAA1:ST(A)N XT :XN9ykAA1:9lST(A)1ER2:162:AA19mST(A)4000ST(A)5000XT :XN9nAA1::PoST(A1)4000ST(A1)5000J1ST(A)1:AA1:ST(A1)4000ST(A1)5000FP(ST(A)4000)FP(ST(A1)4000)XT::AA2::113:112:_pER5:162:oqXN:AA2::rST(A1)4000ST(A1)5000J1ST(A)1:AA1:ST(A1)4000ST(A1)5000FP(ST(A)4000)FP(ST(A1)4000)XT::AA2::116:115;sER5:162;tXN:AA2:;EuALN XLM(AL):46:XN ALPL(AL):117;Kv;{wALN XLM(AL):46:XN ALPL(AL):119;x;yXE:;zST(A)1ER2:162:AA1:XST(A):36:X0:AA1:;{ST(A)1ER2:162:AA1:XST(A):46:AA1:<|ST(A)1ER2:1621LM(AL)3000 LM(AL)4000ER1:145:T2PT(LM(AL)N):T22000 T20ER1:145:LM(T2)LB LM(T2)NB ER1:145>#DV:#DV:#DV,"(DEFUN ";:XLM(AL):A$(13):39:#DV," (";:XLM(T2):39:#DV," ";:T2PL(T2):XLM(T2):J11:X1(J1)X:38:J0:J20?T2PL(T2):T2N #DV:#DV,3);:X1(J2)2:XLM(T2):137:136:#DV,"))";:X0:?.X4000#DV,FP(X4000);:?JXN #DV,OB$(XN);:?vLM(X)QU #DV,"'";:XLM(PL(X)):38:?JJ1:T1(J)X:DLM(X):BDN:B40 B41 B31144:B6 B9B10B14B20B21#DV,"("; : 142@FXT1(J):XLM(X):137:XT1(J):JJ1:XPL(X):XN #DV,")";: :JJ1:T1(J)X:#DV," ";:141@T1(J)PL(T1(J)):#DV,X1(J2)2)"(";:J2J21:X1(J2)(0):XD:138:#DVAXLM(T1(J)):#DV,X1(J2)2);:137:XT1(J):JJ1:XPL(X):XN J2J21:#DV,")";: :#DV:JJ1:T1(J)X:143AT1(J)PL(T1(J)):#DV,X1(J2)2)"(";:J2J21:X1(J2)(0):XD:138:#DV," ";:XLM(T1(J)):137:#DV:T1(J)PL(T1(J)):143AE0:LM(E)LM(AL):162BST(A)2ER2:162:AA1:ST(A)2000ER4:162:AA1:ST(A)N ST(A)4000ER3:162:JST(A1):DST(A):XBS:ZNBhJN LM(J)D 148:ZBS:BSPL(BS):LM(Z)LM(J) :ZN XN: :PL(Z)N:BzJPL(J):147C:"; HIT ENTER TO BEGIN";:24:#DV,FE,PE,BS:J2FE:#DV,FP(J)::J49PE:#DV,OB$(J):#DV,PT(J)::J1BS:#DV,LM(J),PL(J)::X0:C:"; HIT ENTER TO BEGIN";:24:#DV,FE,PE,BS:J2FE:#DV,FP(J)::J49PE:#DV,OB$(J),PT(J)::J1BS:#DV,LM(J),PL(J)::X0:CX0:AA1:PE48:"; ";OB$(PE);" DELETED FROM OB LIST";:PT(PE)0:OB$(PE)"":PEPE1CDTTLM(AL):EPL(AL):ALED.XTT:46:XN ALE:157:154:DJTTLM(AL):EPL(AL):ALEDsXTT:46:XN ALE:157:156: DALN XLM(AL):46:ALPL(AL):157DDJ1FE:FP(J)WW 161D:FEFE1:FP(FE)WW:XFE4000:DXJ4000:EXST(A):J11:X1(J)X:A$(13)EIA$(13): ER 164,165,166,167,168,169,170E"; ";:XLM(E):39:" INVALID FUNCTION NAME";:171E"; IMPROPER NUMBER OF ARGUMENTS TO SUBR OR NSUBR";:171E"; ";:38:" INVALID ATOM";:171FPRITN"; ";:38:" INVALID LIST";:171F>"; ";:39:" INVALID NUMBER";:171Fj"; ";:XV:39:" UNBOUND ATOM";:171F"; DIVISION BY ZERO";:171FX0:15F(R60009)173,174GD:DV$"PTSD":"SCREEN,PRINTER,DISK OR TAPE (S,P,D,T)";Y1$:Y$(Y1$,1):FD(DV$,Y$): FD0 :DVFD3:"O",#DV,"LISPFILE":149:DV0::G:DV$"T"(0)"D":"TAPE OR DISK (T,D)";Y1$:Y$(Y1$,1):FD(DV$,Y$): FD0 :DVFD2:"I",#DV,"LISPFILE":150:DV0::H :"DEVICE # (0,-2)";DV:DV0 DV2 175 : 134:DV0:H NIL,3000,T,3001,SETQ,6003,EQ,5012,CAR,5001,CDR,5002,COND,6004,DEFUN,6005,ATOM,5011,LIST,5013,APPEND,5020,ADD,5005,SUB,5006,MUL,5009,CONS,5003,NUMBERP,5015,GREATERP,5016,LESSP,5017,EVAL,5007I PRINTF,6009,AND,6007,OR,6008,DELETE,5021,SET,5004,DIV,5010,NOT,5014,POWER,5019,PRINT,5008,PATOM,5018,READ,6002,QUOTE,6001,LAMBDA,6006,NLAMDA,6006,SAVE,6010,LOAD,6011,RPAREN,3044,LPAREN,3043,QT,3045,CR,3046I SP,3047,DOWHILE,6013,DOUNTIL,6014,%,6012,(,0,),0,',0,CR,0," ",0,FREE,4001ETE,5021,SE PROGRAM TEST; (* PASCAL COMPILER TEST PROGRAM VERSION 1.2 WRITTEN BY JOHN R. NALESZKIEWICZ DATE: OCTOBER 19, 1984 UPDATE: JANUARY 15, 1985 *) (* UPDATED: SEPTEMBER 19, 1988 REALS, RECORDS AND STND FUNCTIONS REMOVED BY: CAREY BLOODWORTH *) CONST START = 10; FINISH = 50; TYPE (*TEST TYPE DECL*) INTARRAY=ARRAY [0..10] OF INTEGER; VAR FAIL : BOOLEAN; I,J : INTEGER; B,F : BOOLEAN; C,H : CHAR; AIN : INTARRAY; ABL : ARRAY[-5 .. 5] OF BOOLEAN; ACH : ARRAY[1 .. 25] OF CHAR; PROCEDURE PTEST1; VAR I : INTEGER; BEGIN WRITELN('CALLED'); I := -10; END; (* PTEST1 *) PROCEDURE PTEST2(I : INTEGER; VAR J : INTEGER); BEGIN WRITELN('CALLED'); IF I<>10 THEN WRITELN(' CALL BY VALUE INTEGER PASSED INCORRECTLY (P)'); IF J<>25 THEN WRITELN(' CALL BY REFERENCE INTEGER PASSED INCORRECTLY (P)'); J := J - 1; END; (* PTEST2 *) PROCEDURE PTEST3(I : INTEGER); BEGIN WRITE(I); IF I>0 THEN PTEST3(I-1) END; (* PTEST3 *) FUNCTION FTEST1(K : INTEGER): INTEGER; BEGIN WRITELN('CALLED'); IF K<>0 THEN WRITELN(' CALL BY REFERENCE INTEGER PASSED INCORRECTLY (F)'); FTEST1 := 100 END; (* FTEST1 *) FUNCTION FTEST2(M : INTEGER): INTEGER; BEGIN IF M>0 THEN FTEST2 := FTEST2(M-1) + 2 ELSE FTEST2 := 0; WRITE(M) END; (* FTEST2 *) BEGIN (* MAIN PROGRAM *) WRITELN; WRITELN('PASCAL COMPILER TEST PROGRAM -- VERSION 1.1'); WRITELN; FAIL := FALSE; WRITELN('IF STATEMENT AND LOGICAL TESTS (P=PASS, F=FAIL)'); WRITE(' SIMPLE LOGICAL TEST (PP):'); IF TRUE THEN WRITE('P') ELSE WRITE('F'); IF FALSE THEN WRITELN('F') ELSE WRITELN('P'); WRITE(' LOGICAL NOT TEST (PP):'); IF NOT TRUE THEN WRITE('F') ELSE WRITE('P'); IF NOT FALSE THEN WRITELN('P') ELSE WRITELN('F'); WRITE(' LOGICAL AND TEST (PPP):'); IF TRUE AND TRUE THEN WRITE('P') ELSE WRITE('F'); IF TRUE AND FALSE THEN WRITE('F') ELSE WRITE('P'); IF FALSE AND FALSE THEN WRITELN('F') ELSE WRITELN('P'); WRITE(' LOGICAL OR TEST (PPP):'); IF TRUE OR TRUE THEN WRITE('P') ELSE WRITE('F'); IF TRUE OR FALSE THEN WRITE('P') ELSE WRITE('F') DISTRAC V1.1 (C) COPYRIGHT JULY 1988 BY LAM SoftWare WHAT IS IT?: THIS PROGRAM IS A SYMBOLIC DISASSEMBLER THAT ATTEMPS TO DISTINGUISH BETWEEN CODE AND DATA. IT WAS WRITTEN USING DEFT PASCAL V4.1 AVAILABLE FROM TCE SOFTWARE, POB 2477 GAITHERSBURG, MD 20879 THERE ARE THREE SECTIONS IN THE PROGRAM: 1 LOADING THE PROGRAM AND PRE-ANALYSIS, 2: THE ANALYSIS IN FULL, AND 3: THE DISASSEMBLY. REQUIRMENTS: A 64K COLOR COMPUTER AND ONE DISK DRIVE. TO LOAD: BEFORE ATTEMPTING TO LOADM YOU NEED TO ENTER 2 FILES ONTO DISK. TYPE THEM EXACTLY. FILE 1 NAME:"*.BAS" 1 GOTO4 2 CLEAR20,4999 3 CLS:PRINT"STANDBY...":LOAD"DSTRAC11",R 4 PCLEAR1:FILES0,0:GOTO2 FILE 2 NAME:"DSTRAC11.BAS" 1 LOADM"DSTRAC11 2 EXEC RUNNING THE PROGRAM: JUST TYPE: RUN"*" IT WILL THEN PROMPT YOU TO PUT IN THE DISK WITH THE SOURCE PROGRAM. THE PROMPTS: PROMPT 1: THE BINARY FILE THAT YOU WANT TO DISASSEMBLE PROMPT 2: THE ASSEMBLY OUTPUT FILE. IF YOU PRESS ENTER IT WILL BE SENT TO THE SCREEN. PROMPT 3: THE NUMBER OF LINES WANTED IN EACH FILE. ENTER 0 IF YOU WANT JUST ONE FILE. PROMPT 4: THE FILE NAME OF THE PREDEFINED SYMBOLS AND ANY CODE SPECIFIERS REQUIRED. FILENAME SPECIFICATION: NAME NAME.EXT NAME/EXT NAME:DEV NAME.EXT:DEV NAME/EXT:DEV :DEV DEFAULT EXTIONS ARE .BIN FOR SOURCE FILE .ASM FOR THE OUTPUT FILE .SYM FOR THE SYMBOL DEF FILE DEVICE NUMBERS ARE :-3 SCREEN :-2 PRINTER :-1 TAPE (YOU MAY ONLY OUTPUT TO TAPE. NOT INPUT) :0 DRIVE 0 (DEFAULT IF NOT SPECIFIED) :1-3 DRIVES 1,2, AND 3 THE OUTPUT FILE: THE OUTPUT FILE WILL BE WRITTEN IN SEGMENTS. EACH CONTAINING THE NUMBER OF LINES THAT YOU ENTERED IN PROMPT NUMBER 3. IT WILL AUTOMATICALLY OPEN NEW FILES WHEN REQUIRED WITH THE FILENAME MODIFIED. EXAMPLE: IF YOU ENTER BASIC1.ASM AS THE OUTPUT FILE THEN WHEN IT OPEN NEW FILES THE NAMES WILL BE BASIC2.ASM BASIC3.ASM ETC. EXAMPLE 2: ENTER FILE.ASM AS OUTPUT FILE 1 FILE.ASM FILE 2 FILF.ASM FILE 3 FILG.ASM ETC... THE SYMBOL FILE: THE FIRST CHARACTER MUST BE EITHER A "S" FOR SYMBOL OR A "J" MEANING THAT YOU WANT THE PROGRAM TO CONSIDER THIS ADDR. AS PROGRAM CODE. THE ADDRESS IS EITHER A "$" AND A 4 BYTE HEX OR A BASE TEN NUM (49 17 50000 ETC.) THE SYMBOL IS THE NAME YOU WANT FOR THIS ADDRESS. IT CAN BE UP TO 12 CHARACTERS LONG. FOR EXAMPLE THE FOLLOWING LINES WILL CORRECTLY DISASSEMBLE BASIC VERSION 1.3 S $0112 USR S $A000 POLCAT S $A002 CHROUT S $A004 CSRDON S $A006 BLKIN S $A008 BLKOUT S $A00A JOYIN S $A00C WRTLDR J $A00E INITIALIZE J $A027 STARTUP J $A074 BASICSTARTUP J $A0E8 RESET J $A0F6 CARTINTERUPT S $A0FC ROMPACKTST J $A108 GOTOROMPAK S $A10D RAMDIRPAGE S $A147 COPYRIGHT J $A171 INPUTROUTINE J $A199 FLASHCURSOR J $A1B1 GETKEYBFLASH J $A1C1 STROBEKEYB J $A22E CHECKSHIFT J $A238 DECODEKEYB J $A245 DECODESPCL S $A26E KEYBKTBLE J $A282 PRINTDV J $A2BF RS232BYTEOUT J $A2FB RS232BITOUT J $A30A PRINTTOVIDEO J $A35F INITOUTPARAM J $A384 SETCASSPARAM J $A38D IPCHARTOBUFF J $A3ED CHKFILEOPEN J $A406 CHKFILE4OUTP J $A416 CLOSEN J $A426 CLOSE J $A43D FLSHCASOPBUF J $A44C CSAVE J $A498 CLOAD J $A4FE CLOADM J $A53E EXEC J $A549 CHECK4PAUSE J $A554 SETCRSPRNTAT J $A564 INKEY J $A578 EVALFILENAME J $A59A CPYBYTESXTOU J $A5A2 GETDEVNUM J $A5C5 GETFILENAME J $A5CE EOF J $A5EC SKIPF J $A5F6 OPEN J $A624 OPENFORINPUT J $A658 OPENFOROUTPT J $A681 SRCHCASFLNAM J $A6F3 FLSHLHSCHAR J $A70B LOADCASBLK J $A749 INPCASSBYTE J $A755 INPBIT2CARRY J $A75D GETWAVELEN J $A76C TIMECASSINP J $A77C GETCASTIMPLS J $A7AD CHKCASPLSWID J $A7BD MOTORONOFF J $A7D8 STRTTAP4WRT J $A7E5 COMPLTTAPOUT J $A7F4 OPCASSBLOCK J $A828 OPBYTE2CAS S $A85C WAVESHAPTABL J $A880 SET J $A8B1 BASICRESET J $A8F5 POINT J $A910 CLS J $A92D CLR2EOLN J $A94B SOUND J $A974 AUDIOOFF J $A985 TIMDOPTHRDA J $A990 AUDIOONOFF J $A9A2 RESETPIA J $A9B3 IRQ J $A9C6 JOYSTK J $AA1A CHKNUM0TO9 J $AA29 BASICJMPTBL S $AA51 MATHPRCEDJMP S $AA66 BASICWORDCMD S $AB67 BASCMDJMPTBL S $ABAF BASICERRMSGS S $ABE1 MSGERROR S $ABE8 MSGIN S $ABED MSGOK S $ABF2 MSGBREAK J $ABF9 SCNSTK4FORPT J $AC1E OPNGAP4NEWLN J $AC33 CHKMEM J $AC46 ERRORPROCSNG J $AC73 DIRECTMODE J $ACA0 OUTPTROUTINE J $ACA5 INSTNEWLINE J $ACEF RSTBASICPTRS J $AD01 FNDBASLNNUM J $AD17 NEW J $AD19 INITBASCOLD J $AD47 FOR J $AD7F FORPRT2 J $AD9E BETWNSTMTS J $ADC0 INTERPRET J $ADE4 RESTORE J $ADEB KEYBTWNSTMT J $AE02 END J $AE09 STOP J $AE30 CONT J $AE41 CLEAR J $AE75 RUN J $AE86 GOTOGOSUB J $AEA4 GOTO J $AEC0 RETURN J $AEE0 DATA S $AEE3 GETNEXTLINE J $AEE5 REM J $AEE8 SCANROUTINE J $AF14 IF J $AF42 ON J $AF67 ASCII2INTGR J $AF89 ASSIGNVARLET J $AFA6 ASSGNSTRING S $AFCF MSGREDO J $AFD6 INPTREAD J $AFF5 INPUT J $B046 READ J $B0B9 GETNXTDATA S $B0E8 MSGXTRAIGNOR J $B0F8 NEXT J $B141 EVALEXPR J $B156 COMPUTEXPR J $B172 LESEQUGREAT J $B1C6 BCKOFFBASPTR S $B1CB CMPOPPRIOADR J $B1CE CMPOPPRIO J $B1D4 PSHOPUNDRVAR J $B1E2 FPAC1TOSTK J $B223 CHKOPERAND J $B24E NOT J $B277 SNERROR J $B27C UNARYMINUS J $B284 VARTOFPAC1 J $B290 RHSFUNCS J $B2D4 ANDOR J $B2F4 COMPARISONS J $B34B MULTIPLEDIM S $B34E DIM J $B357 NEWDIMVAR J $B3A2 CHKA2Z J $B3AB NEWVAR S $B3DF FPCON32767 J $B3E4 INT16BIT2D J $B401 FNDARRAYVAR J $B44F NEWARRAY J $B4CE MUL16BTUNSGN J $B4EE MEM J $B4FD BASVALTOSTR J $B50D OPNSTRNGSPC J $B516 BUILDSTRING J $B56D GNRLSTRNGOP J $B591 GARBAGECOLEC J $B60F STRNGCONCAT J $B643 STRNG2MEM J $B654 CLENSTRNGSPC J $B675 CLENTEMPSTRN J $B681 LEN J $B68C BASICCHR J $B6A0 BASICASC J $B6A4 STRNGROUTINE J $B6AB BASICLEFT J $B6C8 BASICRIGHT J $B6CF BASICMIDCMD J $B6F5 GETSTRNGPARM J $B70B GETNUM0TO255 J $B716 BASICVAL J $B734 FORPEEKPOKE J $B73D FPACTOD16BIT J $B750 PEEK J $B757 POKE J $B75E LLIST J $B764 LIST J $B7C2 UNTOKENIZE J $B814 CHARTOBUFF J $B821 TOKENIZE J $B86B COPYLITERAL J $B8F7 PRINT J $B8FE PRINTATDEV J $B95C PRINTCR J $B966 COLUMNTAB J $B99C PRNTEACHCHAR J $B9B4 FPAC1PLS1HAF J $B9B9 XMINUSFPAC1 J $B9BC FPA2MINFPAC1 J $B9C5 FPA2PLSFPAC1 J $BA18 NORMALIZEFP1 J $BA44 SHIFTFPAC1 J $BA79 NEGATEFPAC1A J $BA92 OVERROR J $BA97 SHIFTFPAC3 S $BAC5 FPCON1 J $BACA XTIMESFPAC1 J $BACC FPA2TMSFPAC1 J $BB2F XTOFPAC2 J $BB37 SGNOFFP2XFP1 J $BB48 EXPO1PLSEXP2 J $BB5C CHKFOROV J $BB6A FPAC1TMS10 S $BB7D FPCON10 J $BB8F XDIVFPAC1 J $BB93 FPA2DIVFPA1 J $BC06 DIVBY0ERROR J $BC0B RES2FPAC1 J $BC14 XTOFPAC1 J $BC2F FPA1TOSCRTCH J $BC33 FPA1TOX J $BC4A FPAC2TOFPAC1 J $BC5F FPAC1TOFPAC2 J $BC6D GETSGNFPAC1 J $BC7A BASICSGN J $BC93 BASICABS J $BC96 CMPRFPAC1VAR J $BCC8 FPAC1TOINT J $BCEE BASICINT J $BD09 CLRFPA1MANTI J $BD12 ASCIITOFPAC1 J $BD86 FPAC1X10PLSB J $BD99 BPLUSFPAC1 J $BDA5 BUILDEXPONET S $BDB6 FPCON999999! S $BDBB FPCON99999! S $BDC0 FPCON1E09 J $BDC5 PRNTFPACINT J $BDD9 FPAC1TOASCII S $BEC0 FPCON1HALF S $BEC5 FPCONVCONSTS J $BEE9 NEGATEFPAC1B J $BEF0 SUMMATION J $BEFF DOSERIES J $BF1F BASICRND J $BF3B BASICRND0 J $BF40 DORND S $BF74 RNDCONSTANTS J $BF78 SIN S $BFBD SINCON2PI S $BFC2 SINCON1QUART S $BFC7 SINCONSTATNS S $BFF0 ROMREFLECTNS LIMITATIONS: 1) IT WILL ONLY DISASSEMBLE PROGRAMS UP TO 8K (8192 BYTES). 2) ONLY SINGLE SEGMENT BINARY PROGRAMS 3) MAXIMUM NUMBER OF SYMBOLS IS 256 COPYRIGHT: THIS PROGRAM IS COPYRIGHT BY LAM SoftWare. IT MAY BE FREELY DISTRIBUTED TO ANY PERSON, DISTRIBUTER OR BBS PROVIDED THAT THIS FILE AND DSTRAC11.BIN ARE DISTRIBUTED TOGETHER UNMODIFIED. DISTRAC V1.1 MAY NOT BE DISASSEMBLED BY ANY PERSON FOR ANY REASON. FINAL NOTE: I HAVE A MORE ADVANCED VERSION OF THIS PROGRAM THAT ALLOWS PROGRAM UP TO 32K, AND 2048 SYMBOLS. THIS IS AVAILABLE BY SENDING $10 (CASH, CHECK OR MO) TO CAREY BLOODWORTH POB 17 SWINK, OK 74761 THIS OFFER IF GOOD THROUGH JULY 31 1989. AFTER THAT TIME PLEASE WRITE FIRST, I MAY NOT BE AT THAT ADDRESS OR MAY HAVE DECIDED NOT TO DISTRIBUTE IT ANY LONGER. IF YOU HAVE ANY QUESTION OR COMMENTS PLEASE SEND THEM TO LAM SoftWare CARE BLOODWORTH POB 17 SWINK, OK 74761 LY 31 1989. AFTER THAT TIME PLEASE WRITE FIRST, I MAY NOT BE AT THAT ADDRESS OR MAY HAVE DECIDED NOT TO DISTRIBUTE IT ANY LONGER. IF YOU HAVE ANY QUESTION OR COMMENTS PLEASE SEND THEM TO LAM SoftWare CARE BLOODWORTH POB 1c4P{&ن"Or44"0Yr{0o0&0 ̧43~4@jP{2"5큌%5r5ض'5m5B %5큌%5r$޷n' 2\5u2.04@3d2~4<452b4O__&\O4Ƥ]'0442d04LINE# LOCN STATEMENT O_42b04'& - CONCURRENT PASCAL-S COMPILER : REV O_40H4O_4 -O_42b04 PAGE O_444/l]'E0444 44)*44 44 2bC0444 44*44 442bZ'4Z.X]'#04Z0O442b!04Z0O44a2bZZ 2b]' 04U 04H,2\54@3d2|O_4 40x04 IDENTIFIER2b4 40x04TYPE2b4 4a0x04KEYWORDu2b4 4=0x04 PUNCTUATIONM2b4 40x04 PARAMETER'2b4 40x04 NOT FOUND2b4 40x04 DUPLICATE2b4 40x04 CHARACTER2b4 4}0x04 TOO SHORT2b 4 4W0x04 TOO LONGj2b 4 420x04 ILLEGAL OPC2b04EO4 40x04$2b2\54@3d204&2\504 COMPILATION ERRORSO_4~B~,04CODE CONDITIONO_4~~O_[ 4[O.d[O404]'D[O40442f04[O44}s 44}044}}[[ 2b2\54@3d2s)CSO4,4_/\]'42b]'04****O_4}A2b4숳, ]'Z44Z. 04"44|2bZZ 2b0444| 44|*44|b 44|2bZ'4Z.*04Z0O44|I2bZZ 2b04|G04****O_4|E2bZ44Z.04"44{2bZZ 2bCO40442f]'K04^44{CO44{u 44{04O_4{44{M{04^44{aCO44{) 44{G04O_4{c44{{>4툳0404SCO4"S2\54@3d2~O_2\5Z4 4Z.B]'04 44z2b04 44z2bZZ 2b숳4/H]'04-44zY2b04-44z@2b숳4툳 ]' 04z. 04z!2\54@3d2辮]' 04z42b4 4l0Ⱥ04 IDENTIFIER~2b4 4C0Ⱥ04 PROCEDURESU2b4 40Ⱥ04STRINGS/2b4 40Ⱥ04ARRAYS 2b4 40Ⱥ04LEVELS~2b4 40Ⱥ04CODE~2b]'[04 COMPILER TABLE FOR O_4xB4 4Y0Ⱥ04O_4xۍ IS TOO SMALLO_4xx04COMPILER TABLE FOR O_4xB4 40Ⱥ04O_4x IS TOO SMALLO_4xixS0E44vK2d044v:2d]'044v 2d42b2\54@3d4'&2~0E44u2d5]'04wҮ04 PROGRAM INCOMPLETEO_4ww422b0E44u2d044u2d]'044uo2d42b숳4O_'!]'442b04w3O_툳O_'O_42~0E44t2d5CSO42~0E44t2d5CS]'k0E404u2bO4 O'AO4 / ծ'4''4500 O)]'42b'4''4 500 焮0E4u#4փ0拮2\5  K4@3d2zO4 & 42b O4a_.\O4O4z_-\O4O4A_.\O4O4Z_-\]'.O_V0h4z2bO4a_.\O4O4z_-\]'O4 4b2bV4 /"V4VV450h0 焮42bO4a_.\O4O4z_-\]'O4 4b2bծO4A_.\O4O4Z_-\O4O40_.\O4O49_-\CS]'O_4V50h0 ZXZ4X44~55V0h4V4 4~U0H04y-V44b2bX0h4V4 4~0H04yx. V4ZZ4X,oZ44b2b4X,V0.拮 !O40_.\O4O49_-\]'O_VO_fO_f4 4}e4O404b2bfV4V42bO40_.\O4O49_-\CS]'V4 _,\O4f4_,\]' 442dO_fO_VO4+_&\O4O4-_&\O4O4*_&\O4O4/_&\O4O4)_&\O4O4=_&\O4O4,_&\O4O4[_&\O4O4]_&\O4O4;_&\O4O4&_&\O4O4|_&\O4O4~_&\]'O!0c拮42b.O:&642bO4=&42b <&[4u2bO4=&4U2b,O4>& 422b >&842bO4=&42b G.&842bO4.&42b '&3O_V42bO4'&4u2bO4''~4V4& 44)2d4V450˟0 V4V4&O_V`V4&,0˟Of4RV4O_& 44%2dO_f%fV4V(&o4W2bO4*' G422bO4*' 42b 42bO4)&42bU{&342bO4}' 42b 42b44+2d42b2\54@3d444x0p040H4s2b44w444b2b50{0 턮44w4G50}0 焮44w4E50~0 焮44wb4O_50Ӏ0 턮44w>450ӂ0 焮44w4O_50Ӄ0 焮44v4B50ӄ0 2\54@3dD4B,442dDM*CS4_,\O4BM*CS4_,\]'44l2dO_DO_B4 &442dz44 4v14G50W0 焮4 4v 4D50[0 턮4 4u4B50]0 2\54@3d4&442dI4XIXIXI4O_500 턮XIXIXI4O_500 2\54@3d*4& 442d*44u-4B50A0 턮*44u 4O_50C0 턮*44t4O_50E0 턮*4*2\54@3d*4& 442d*44t4D50A0 턮*44tf4O_50C0 턮*44tB4B50E0 턮*4*2\54@3d*4& 44Y2d*44s4F50A0 턮*44s4D50C0 턮*44s4B50E0 턮*4*2\5Af4@3dCO4Į4W2dĮîĮO40D4paoCS]' Į42b ѮĮ]'42b2\54@3dĮO40$4poiCS]'!0$4o0D4ooCO44U2$2\54@3dĮO4& 492b4Į42dĮ04oo2!4oo204o44R2D2\54@3d2|Į4&442dO_44r#Į0p040D4m92bXIĮ0!싃XIXIXIĮ0ZZXZ44qٮĮ0p040D4m/'Z44qĮ0{Z Z4O_'4Į42dYĮ444qgĮ0p040D4l}2bĮ44q@4X5Į0{0 턮Į44q4C5Į0}0 焮Į44p4O_5Į0~0 焮Į44p4O_5Į0Ӏ0 턮Į44p45Į0Ӄ0 焮Į44pv4O_5Į0ӄ0 턮XIĮ0!싃XIXIXI4Į500 2\54@3d2|ZO_44pĮ0p040B4k)2bZXIĮ0!싃XIXIXIĮ0XX44oϮĮ0p040B4k%'X44oĮ0{X Z44b2bZZ4O__/\O4X4O__'\]'eX4O_&4Į4>2dXM2\54@3dĮO4!&*0h4 4n442oĮ42bO_4Į42d2\54@3d2|O_O_0Į04k0D4k442DĮO404kk]'ĮO4&f0Į42bpXĮO4_&\O4O4_&\]'&O4& CSXĮ42bĮO4!&2~0h4 4m42m5ZZ4O_'rZ44mĮ0}O4O_'4Į42d=Z44mĮ0~X4Z44miĮ0ӄ4mZ0Į42bPĮO4O_&&X4f4m 0Į42b0D4j%442$0D4ji442D2\54@3d2u0 4iix4iG4i?*4i7ih0X4Į42$ĮO4& 42b4Į4_2d0 4i}i4h4h*4hh0U4Į4K2$UO4XO'4Į42dYVXO4Y4V4Į42hĮO4&*4f2b[040S40Q40442jĮO4& 4%2b4Į4p2dĮO4*& 42b4Į4=2d0 4h[0[4040S40Q404Į4C2,4 4k Į0]44 4jĮ0[4b2b44Q4j4 4j45Į0a0 4 4j4[5Į0X0 4 4jd4S5Į0Y0 4 4j<4Q5Į0_0 2\54@3d2zO_ O_O_O_O_Į04g0L4g O_442DĮO404ff>]'ĮO4!&2~0h4 4iU4l2m5ZVZ4O_'Z44isĮ0}O4'4Į4D2dZ44i=Į0~ Z44i$Į0~O4&Z44iĮ0Z44hĮ0~Z44ḫĮ0ӀZ44hĮ0ӄZ44hĮ0ӆĮ0h4 SEMAPHOREc&Į42bĮO4&s42b0L4ead4d4dd0W4492$XĮO4_'\O4WO4_'\]'O_  O_V O4O_&4Į4߬2dV]' Į4:2bĮO4&Z42bĮO4& 42b4Į4L2d 040404044@^2j0L4dHc44 2D2\54@3d2vĮ42bO_[O_XO_Vc!4cu4cm04cc4cYc442DĮO4!_&\O4O4_&\]'O4'ZĮ42bO_ZĮR42bĮO4&42b42b ٮĮO4&442bĮO4!'O_442d2~Į0h4 4e42m5TĮ4R2bT4O_'T44eĮ0}O4'4Į4r2dWT44ekĮ0~[T44eSĮ0ӀXZ]'T44e4Į0ӄVVa4a4a04b#a4a!4a{a442D4Į42dR4Į/R4RR44d4[5Į0~0 R44d4X5Į0Ӏ0 R44d^45Į0ӄ0 R44d:45Į0Ӄ0 R44d4Z5Į0ӂ0 焮4V%ĮO4'dO4& 4\2b4Į4۩2d`a!4`04`(04``E4``E44n2DĮO4&542b` 4_4_Ю04`\44$2D4Į42d2\54@3d2}Į42b_!4_Į04`O_442DĮO4!&0h4 4buO_44[2oĮ4>2bĮO4 & 4"2b4Į4o2d04__4^4^!4^_0Y44]2$Į44b04Y5Į0~0 焮Į44b4O_5Į0Ӏ0 턮Į44a4Z5Į0ӄ0 턮42b2\54@3d2vĮ4A2b^Y!4^(Į04^O_44z2DĮO4!&W0h4 4a442oĮR42bĮO4 & 42b4Į4 2d04^)]4]4]!4]y]0Z40[40V40T40X442,R44`4Z5Į0~0 R44`4[5Į00 R44`~4V5Į0Ӏ0 R44`\4T5Į0ӄ0 R44`:4X5Į0ӆ0 턮4\2b2\54@3d2vĮ4ߛ2bĮO4!&V42bĮO4&4[2b4~2b ٮĮO4& 442b4Į4ׁ2d04\\04[4[!4[\ 0Z40[40T40R40X44'2,V4Į/ V4VV44_4Z5Į0~0 V44^4[5Į00 V44^4T5Į0Ӏ0 V44^45Į0Ӄ0 V44^45Į0ӄ0 V44^l45Į0ӂ0 V44^I4X5Į0ӆ0 턮4R4\2b2\54@3d2ĮO4_&\[4݆2bĮO4!'O_442dĮ0h4X2b[]'#Į0h4 4]Z44?2o Į0h4 4]7442oĮ44]`45Į0ӂ0 焮Į42b04ZTY4YY[O444Į42&ĮO4& 4܅2b4Į42d 4[O4Į4f2d2\5&34@3d2{ĮO4' 44Ԉ2dĮ42b0D4YY,4X4XY$0Y442$O4'4Į4/2d0WW4 4\Į0WO4YO'4Į42d4W4Į4 2fW4 4[ˮĮ0XW4 4[Į0Y0ĮO4'O4& 42b4Į4P2d0D4XpX4Į432D2\54@3d2w4B4Į4c2fB44[Į0Ӏ싃XIXIXIĮ0WBUĮO4&Į4^2bU4W.4Į4ҟ2dZU4UU44ZĮ0ӂ]'0D4WW%4V4V4VW0Y442$YO4U44Z8Į0~O&yZ4U44ZĮ0Ӏ'4Į42d>YO4&/4Z4 4YɮĮ0a4Į42f'YO4O__'\]'4Į4|2d7ĮO4!'O_44W2d2~Į0h4 4XĮ42m5SĮ42bS4O_'S44YĮ0}O4'4Į42dS44XڮĮ0~YS44XĮ0ӀZS44XĮ0ӂ]'IO_4S44XĮ0Ӄ4S44XjĮ0ӄ4Į482hG4S44X;Į0Ӄ4S44X Į0ӄ4Į42hĮO4_&\]'30D4TT4T_4TW4TOT0Y442$YO4U44WĮ0~O_'\O4Z4U44WzĮ0Ӏ_'\]'4Į4B2dS4S4S0D4TO4Į42DĮO4'5O4& 4ֈ2b4Į42dU4W/4Į4δ2d4B44VĮ0Ӏ싃XIXIXIĮ044b2b4Į42fB44VbĮ0Ӄ4Į/54B44V5Į0Ӄ4Į4Į42h2\54@3dEO4_,\O4CO4_,\]'4Į42dO_G8EO4O__&\O4CO4O__&\]'O_GG2\5 j"4@3d2|O_O_0Į0s4Ru0D4Rn4Į4.2DĮO40s4R;Q]'ĮO!&2~0h4 4TĮ42m5ZĮ4[2bZ44TĮ0}O&cZ44TĮ0~O_04Z44TcĮ0ӄ4Į4߂2f&)Z44T%Į0~Z44TĮ0Ӏ0ĮO4_&\]'Z44SĮ0ӂ]'O_XXX4Z44SĮ0Ӄ4Z44SiĮ0ӄ4Į4+2h0D4PZ04Į4p2$O4Į04P*O~]'"4Į4ݎ2dO4Į04OO@]'3Z44RĮ0ӂ]'XX/Z44RĮ0ӂ]'O_XXX4Z44RSĮ0Ӄ4Z44R2Į0ӄ4Į42h'&4Į42d&Z44QɮĮ0~Z44QĮ0Ӄ4O_'0D4NZ4Į492$84Z44Q[Į0ӄ4Į4z2f&AO_04Įf44D2fĮ4Ѓ2bS&AO_04Įf442fĮ4:2b &Į42b0D4MM-4LM-04Į42$ĮO4& 42b4Į42d&{Į4ϕ2b0D4M044m2$O4&#4Į4b2d'O4O_'4Į4Ǎ2d0D4LĮ0s4L4Į4X2D'2\54@3d2|0D4LmK4K4K4K 4KK044@2$ĮO4_&\O4O4_&\O4O4_&\O4O4 _&\]'X462b0D4KKG4K4K4K 4JK/0Y44@2$XO4&H2~O4YO4Į412f5O4&94Į4ش2dZXO4 &O4_&\O4YO4_&\]'84Į4]2dHO4O__'\O4YO4O__'\]'4Į4l2dO_O4_&\O4YO4_&\]'AXO4&:4Į4׻2d;4Į4ע2dHO4O__'\O4YO4O__'\]'4Į4ı2dO_2\54@3d2|ĮO4_&\O4O4_&\]'X42b0D4IxI 4H4HI044@2$O4,4Į4 2d#XO4&$4Į4֏2d20D4IH4Ha4HY 4HQH044@_2$ĮO4_&\O4O4_&\O4O4 _&\]'FX42b0D4HnG4G4G 4GG0Y44@2$XO4 &O4_&\O4YO4_&\]'34Į4v2dFO4O__'\O4YO4O__'\]'4Į4‡2dO_g2~O4YO4Į4d2f5O4&:XO4&44Į42d54Į42df2\54@3d2|0D4G+F 4F 4F4F{4Fs 4Fk4FcF044@2$ĮO4 _&\O4O4 _&\O4O4_&\O4O4_&\O4O4 _&\O4O4_&\]'|X4ȴ2b0D4F40Y44@_2$O4O__&\O4O4_&\O4O4_&\O4O4_&\O4O4_&\O4O4YO_&\]'XO &-4Į42d &.4Į42dq&/4Į42dT&04Į4ҥ2d7 &14Į4҈2d&24Į4k2d4Į42d2\54@3d2x44GĮ0~Y44GyĮ0ӀZ44G]Į0ӂ]'O_TTT4D4B4Į42hĮO4_&\]'-04DC4C 4CwC0Y44&2$ĮO4&+YO4& 442dĮ452b4Į42dYO4'04C0V44L2$YO4VO_&\]'YO4Į04CWB]'&4Į42d|Z4W_'\]'4Į42dSYO4&24Z4 4EϮĮ0a4Į42f4Į42d4Į42d2\54@3dĮ4 2b04BB4A'4ABĮ42"ĮO404BSA4AAA]'aĮO4& 4Ę2b4Į42d04BA4Aa'4AYAĮ42"sĮO4'& 472b4Į42d2\54@3d2yĮ4 2b04AA-4@+4@A0Y4402$YO4_'\O4YO4O__'\]'4Į42dĮ*W 44Β2dĮO4-& 4i2b4Į42d04@@c(4@2@cĮ42"ĮO4(&42bĮ*U 442dW44CW4Į*50E0 턮04@SĮ4l2"U44C4Į*50E0 &W44B4Į*50E0 2\54@3d2{Į*W4T2b04??c4?2)4?*?[Į42"ĮO404??+4>?+>]'aĮO4& 42b4Į4*2d04?H>4>)4>>ѮĮ4K2"sĮO4)&v4~2b04>0Y442$YO4_'\O4YO4O__'\]'4Į42d 4W4Į42f4Į4]2d2\54@3d2yĮ42bĮ*W04>X=+4==0Y442$YO4_'\O4YO4O__'\]'4Į42dĮ*U 44i2dĮO4+& 4@2b4Į42d04=Į42" 4W4Į4ˮ2fU44@\4Į*50E0 2\54@3d2tĮ42bĮO4!&2~0h4 4?Į42m5VĮ42bV4O_&[HV44?ǮĮ0}O4& V44?Į0~[V44?Į0ӂCS]'4Į4U2dFO_4V44?JĮ0Ӄ4V44?/Į0ӄ4Į42h[O4O__'\O4[O4_'\O4[O4_'\O4[O4_'\]'4Į42d4Į42d[704;;/4:,4:+4:;O_4Į42$ĮO4&X42b04;I:,4:+4::0X442$XO4[O'4Į42d004::,4:X+4:P:4Į4B2$ĮO4,_&\]'P4%2b04::4+4::40X44R2$XO4[O'4Į4?2d(04:Z9+4994Į4ɬ2$Į*R44ǧ2dĮO4+& 4~2b4Į42dĮ*P049ۮĮ42"4P4Į42fR44<4Į*50E0 2\54@3d2vB'&ͮĮO4&Į42bĮO4!'O_44 2d2~Į0h4 4;Į42m5ZĮ4u2bZ4O_'Z44;ĮĮ0}O4'4Į42dwZ44;Į0~UZ44;pĮ0ӀVZ44;VĮ0ӂ]'O_XXX4Z44;)Į0Ӄ4Z44;Į0ӄ4Į42hĮO4_&\]'-0477|47K47C7t0U442$UO4_&\O4UO4_&\O4UO4_&\O4UO4O__&\]'4UO4Į4z2f4Į42d64646047"4Į42DĮO4'O4& 4[2b4Į42dB4&>4Į412d'&^ĮO4&$Į42bĮO4&:444t2f4Įf44\2fĮ42b046545|45t45l50U442$UO4Į04550CS]'4Į42d4UO4Į42fĮO4' O4& 42b4Į482dB4&?4Į42d/'&ĮO4'442dĮ4r2bĮO4!'O_442d2~Į0h4 47VĮ4k2m5ZĮ42bZ4O_'UZ447jĮ0}O4'4Į472dZ4470Į0~UZ447Į0ӀVZ446Į0ӂ]'O_XXX4Z446ϮĮ0Ӄ4Z446Į0ӄ4Į4‚2hĮO4&%0433)423)0U44٧2$UO4&B44Į42d4Į42dĮO4& 42b4Į42d2\54@3d2{ĮO40422!42O225]'9ĮO!&2~0h4 45P4g2m5ZĮ42bZ4O_'TZ445hĮ0}O'&4Į452d&;Z445&Į0Ӄ4Z445 Į0ӄ44@S2f&ZZ444Į0Ӄ4O_'0B41Z44@ل2$Z444Į0ӄ44@*2du&mZ444Į0Ӏ4XIĮ0!&.Z444RĮ0Ӄ44O_44@2f4Į42d"&OĮ0h4COBEGIN/g&*4Į42d4@_2b4Į4v2d4@E2bE#& 4@32b3%& 4@F2b!$& 4@2b&&4@E2b0B400*44^2D2\54@3d2|DXB4X.:X443AĮ0}O4_&\O4X443Į0O4_&\]'X442Į0ӂ]'O_ZZZ44X442Į0ӄ4Į42hX442Į0~O4&2X442tĮ0Ӏ싃4 42]Į0aZZ4Z4X4424Į0ӆ4Į42hXX2b2\54@3d2vZXB4, 44B2d.4._4.W4.O0F4.44@2D42bTBXI450!0 X4414O_50~0 X441`4T50Ӏ0 턮O4_&\O4B4_,\]'4@2bTXIXIXI4500 TXIXIXI4Z500 E]'2O4&4K2bO4!&2~0h4 40G4@`2m5R42bR4O_'R440c0}O4'4482dmR44010~O404-:,]'5X4404R44/0~50~0 442d!0F4,,v4,E,vO_44@<2$442dO4& 42b44h2dO4&4@A2bO4&4@̈́2bO4&4@2bVTXIXIXI4Z500 턮O4_&\O4O4_&\]' 4@Ю2b +n"4+=04+Ȯ04++Y44@2DO404+*]'X44.h4*50ӄ0 X44V44@2f42b0F4+K*4*'4**4@'2"O404+*4*{**a]'RO4& 4d2b442d0F4**d4*3'4*+*\4@2" O4'& 42b44a2d0F4**4)**44@:2D2\54@3d2044#2d04 CONCURRENT PASCAL-S COMPILERO_4""t04 REVISION O_4"c04O_4"V"@04"6054'2b04SOURCE FILE [.PAS] : O_4"2b040544!4 2~/0544(t2fO__'\]'.2~/0544(M2f54.5050 2~.0544(2fO__&\]'054054'.PAS'2b0E4054O_42~0E442dO__&\[[CS]'<04FILE O_4 054O_4 NOT FOUNDO_4  []'05442~.0544'@2f044&2j0404&*OBJ&+2b04&2b04 OBJ FILE [O_4 [04O_4 O] : O_4 A2b04044b04%&0404%2b0404O_42~0442dO__&\[[CS]'304CAN'T OPEN FILE O_404O_4r[]'05442~.0544%2f044%N2j0404$؍LST$2bO_Ʈ04$2b04 LIST FILE [O_404O_4] : O_42b04044î04NONE$&[04$w&0404$#2b0404O_4R2~044 2dO__&\[[CS]'304CAN'T OPEN FILE O_404O_4[]' []'2\54@3d2w04 4444s44e44W44G*44b2b44*gO_Z4Z.خ04Z44'0}O44Z44'0~O44Z44'0Ӏ44Z44'e0Ӄ44Z44'F0ӄ44q 44Z44'0p04O_4ZZ2bZ4Z.04Z4 4&Ю0WO44Z4 4&0XO44Z4 4&0[44Z4 4&k0]44Z4 4&J0_44uZZ;2bZ4Z.N04ZXIXIXI044-ZXIXIXI044MZZ 2b44P4%55T44P4%52b4O__'\SO_ZT44b2b4Z.`O_XO4X.804Z4P4%:4X0˟O442bXX 2b04ZZ 2bS]'qO_Z44P4%52b44b2b4Z.804T4P4$4Z0˟O442bZZ 2b04O_Z*44b2b4Z.n04Z44$E0A44pZ44$'0C44RZ44$ 0E444qZZ 2b]'r04COMPILED PROGRAM STATISTICSO_4C-04---------------------------O_404SYMBOL TABLE SIZE: O_444Ů04ARRAY TABLE SIZE : O_444R04BLOCK TABLE SIZE : O_4}44Y04STRING CHARACTERS: O_4G44!04P-CODE SIZE : O_4*4404COMPILED PROGRAM STATISTICSO_404---------------------------O_404SYMBOL TABLE SIZE: O_4z44T04ARRAY TABLE SIZE : O_4C4404BLOCK TABLE SIZE : O_44404STRING CHARACTERS: O_4ٮ44v04P-CODE SIZE : O_4*44?|2\54@3d4 4 0H04AND2b4 4 ®0H04ARRAY2b4 4 0H04BEGIN2b4 4 t0H04COBEGIN2b4 4 K0H04COEND_2b4 4 $0H04CONST82b4 40H04DIV2b4 4خ0H04DO2b 4 40H04ELSE2b 4 40H04END2b 4 4i0H04FOR2b 4 4D0H04 FUNCTIONU2b 4 40H04IF12b4 40H04MOD 2b4 4Ѯ0H04NOT2b4 40H04OF2b4 40H04OR2b4 4d0H04 PROCEDUREt2b4 490H04PROGRAMK2b4 40H04REPEAT#2b4 40H04THEN2b4 4®0H04TO2b4 40H04TYPE2b4 4x0H04UNTIL2b4 4Q0H04VARg2b4 4,0H04WHILE@2b4 50.0 450.0 4"50.0 4"50.0 4'50.0 450.0 450.0 4+50.0 4(50.0 4'50.0 4&50.0 450.0 4#50.0 450.0 450.0 4*50.0 4 50.0 450.0 4 50.0 4$50.0 4-50.0 4,50.0 450.0 4)50.0 450.0 4%50.0 +!450c0 -!450c0 *!450c0 /!450c0 (!450c0 )!450c0 =!4 50c0 ,!450c0 [!450c0 ]!450c0 ~!450c0 &!4 50c0 ;!450c0 |!4 50c0 焮044U4MO_4F4>!46׮04Q!4 404444444"4|0s4O_44!444G04"4#4%4$4x&4p04O_4[4S4K4C4;O_O_ O_XI450!0 O_툳04%CS,O_*O_O_'O_O_CS42b2\54@3d2ˣ4@2b]'044@ i2d04LINE# LOCN STATEMENT O_4 d2b04'& - CONCURRENT PASCAL-S COMPILER : REV O_4 ,04O_4  -O_4 2b04 PAGE O_4 44  a04 04'& - CONCURRENT PASCAL-S COMPILER : REV O_4 0+4O_4  -O_4  z04 r4@2bO4 '44@2d-4@_2bO4!'O_44@2d4@92b 4M4O_4O_44@a2FALSE 4(O_44O_44@<2TRUE 4O_4444@2CHAR 44444@2BOOLEAN 44444@2INTEGER 44444@2 SEMAPHORE 4b4444@t2EOF 4=4444@O2EOLN 44444@)2READ 44O_444@2READLN 44O_444@2WRITE 44O_444@2WRITELN 4|4O_444@2WAIT 4W4O_444@j2SIGNAL 404O_444@C2 44O_4O_44@#2XIXIXI4500 XIXIXI4500 XIXIXI4O_500 XIXIXI4O_500 0404rO_444@2&O4' 44@~2d44@2d2~0E44@2d5CS]')2~0E44@2d5CS]' 0E4 0ȓ4J7& 4@2b4@2b040E44@2d044@t2d]' 044@^2d2\50 0" 9  @ W9} ' j ;}*}} 'z & 0 @;46؆ 46؆4 1%(- @& & ~ I'#KH&`&\J1F 0H s P&H@K H@K  a H|'/ ~ odja' ~ oH!>'dx 2b&51?'H&9зH}H9&1?&9AB4om&#1 '1 j&l -چ2a5-.+ 454J54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1{m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/=54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . bm&+_J&Z,.H5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N:'/'.& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' y_9+ 7 4@3bO_B*2BA4D AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&  o\': 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&AҎROJbbI$blaa\'lcM'D$0'0/0k /$0E0,x+/@M& @g& X['\d^}:L&b3a& &s mc'v&0od2d4&55}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P&_%_DY ja&5 &&5X 4594&U'& m& ' 1N&6m&54610Z&oZ&b'_540GÍO_m& m*5!!&94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok M&4TTT054j+X 2a9_9"0b'52"nb0d52bndb" 0fle&52dn5 oZ&nZ&52 n 0$1d9Z& 馠CZ& ֍ۦ&Z& _52@n ㍼&Z& 50 14Z&n5 5Z&2bnP#ӎ###~ޭP9ޭP9n0#Oڿ] & Z& 0 &߶L &1Lf?#' &, ܿ@O&9' LT%\O9ڿٍڦ& ~ڦ')&|#:D%Bn1;45&' ; J&0&O"·ķƷɷʷ̷ηз9ކ` %9φ`% '% KDISK`ERRORINSERT`PROPER`DISKl`PRESS`ENTER4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 4P5&ن"Or44"0Yr0vo0&0 ̧43~4@\P2"5큌%5r5ض'5Ƿ5B %5큌%5r$޷n4@3d204 INTRPRTSBIN I2b 4./44b2b440O 2b2\50 0" 9  @ W9} ' j ;}*}} 'z & 0 @;46؆ 46؆4 1%(- @& & ~ I'#KH&`&\J1F 0H s P&H@K H@K  a H|'/ ~ odja' ~ oH!>'dx 2b&51?'H&9зH}H9&1?&9AB4om&#1 '1 j&l -چ2a5-.+ 454J54G"-l'  C#54m&:l/ C"* OC#&'5 m&6{94'&#o -4oL51ojM*546Zm&1{m& 1'L'1 Z&l -݆5 0Z&b15+,-o.o/=54&o 11' l)'lllJ*2a5 \'\94&o1 ,"'̍ 'č' 4\'LC/52a54'*54m&lm&O_-<54&m&#lm&1 . bm&+_J&Z,.H5So *L' L+  d'4E2d2jn *L& #m'o ޮj11Z&fjd0 ' #Z&hj⦠'N:'/'.& a a ,laj& *J'%+'-'O J'0+ . -&Pl 2b9 df9gd!'9m&og9ogd'9m&,  &lg9do'9o *XL&m'9d&''o4 1-& &2b95 2q40&<&7 ' ','1dod'ld& ' ',&O5502onf&A46 2d52ob' 52dnd&&50n4&54 ' '5b&k& &{50ndb'0&2bd42d50nfdo&%& 'c$l 52dn4&_5 L+-m& *L' y_9+ 7 4@3bO_B*2BA4D 4AFO_46/2^5@Tf0db4652dnb0 O_4656n fdc'?$c_M' &1!J&]' 1 &Z 52dn 4v' > \+*m&533˦\'m *&  o\': 5m5db'0&2bd42d50ndm&'o1f&1!&9d 465dOf9fd946M' 0&J&542|ocvv&AҎROJbbI$blaa\'lcM'D$0'0/0k /$0E0,x+/@M& @g& X['\d^}:L&b3a& &s mc'v&0od2d4&55}+@9C@9vRZ&9^_ [ ] 0 \@0&9462~oƏoa1O_&voa& ja+g & 4X5 'A''! '/\'l9 m'1?j+ m'1?j  2b54' '& 'B %MM+ @-`-߈@ '5` `&% 큌% ``큌%CH'' &' 5d݈944"&P&_%_DY ja&5 &&5X 4594&U'& m& ' 1N&6m&54610Z&oZ&b'_540GÍO_m& m*5!!&94"!!1?&P54oI/"%%j' "%l`&ا5 !ց" 9o9m& % $9$%9 V9Fj&9ց94&2~1OF<&٧ԧo䫈am' aaj&􍵠a'2b54&U44j&2a<*_$M' 1j& Uo54&a1[4 134  d& b# b%X$2d5ʺzjRB2"  "2BRjdb'obd45O1'Z&2dnodlO1c 4fd#]' & Z 52dndomg'ijO0 " l\jg&9hOf-)d,dd'4g0e15J&d92~hg'#\O00 ?1# j' 䦀Z&2b92~ojokfO1f1!fh'lk" &Z&2b9ok P#N%=##-#:##:#G##G#N#~ޭP9ޭP9n0#Oڿ] & Z& 0 &߶L &1Lf?#' &, ܿ@O&9' LT%\O9ڿٍڦ& ~ڦ')&|#:D%Bn1;45&' %; J&0&O"·ķƷɷʷ̷ηз9ކ` %9φ`% '% KDISK`ERRORINSERT`PROPER`DISKl`PRESS`ENTER4@fhd&1?&5@52fn56CS244@3d0&54@fhd1?& mf*lcO_ffmh*jcO_hh9ooofh=eh=fg=mb'O_c2inoomf*l䍨4O_hiihYIf%fli0&5d'O_cc'O_dd946oM*lO_aa f'14Z&b 4&a*@0 jd' b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ &j& 4-&ja 0+ "iXIiXIXIihj&ma'O_hh2b95b,52dn"9d9@d#* O_d9 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g M"PSC]:"STANDBY...": &HFF22,&H10: 65469,0: 65468,63:"TCESHELL",R&p1:0,0:: 2: 2 b&me'-2e2a5gdhf9hdfXIXIfDVZ砦g946oM'TTTTJ'& 2a56909/9ofogdo'@ ; IF FALSE OR FALSE THEN WRITELN('F') ELSE WRITELN('P'); WRITE(' LOGICAL COMPARISON TESTS = <> < > <= >= (PPPPPPPP):'); IF 10 = 10 THEN WRITE('P') ELSE WRITE('F'); IF 10 <> 1 THEN WRITE('P') ELSE WRITE('F'); IF 1 < 10 THEN WRITE('P') ELSE WRITE('F'); IF 10 > 1 THEN WRITE('P') ELSE WRITE('F'); IF 10 <= 10 THEN WRITE('P') ELSE WRITE('F'); IF 1 <= 10 THEN WRITE('P') ELSE WRITE('F'); IF 10 >= 10 THEN WRITE('P') ELSE WRITE('F'); IF 10 >= 1 THEN WRITELN('P') ELSE WRITELN('F'); WRITELN; WRITE('ENTER "C" TO CONTINUE'); READLN(C); WRITELN; WRITELN; WRITELN('VARIABLE ASSIGNMENT TESTS'); WRITELN(' SIMPLE VARIABLE ASSIGNMENT TESTS'); I := 10; WRITELN(' INTEGER STORED: 10, CONTENTS: ',I); J := I; IF J<>10 THEN BEGIN WRITE(' INTEGER ASSIGNMENT TEST FAILED, '); WRITELN(J,' INSTEAD OF 10'); FAIL := TRUE END; J := -I; WRITELN(' INTEGER STORED: -10, CONTENTS: ',J); IF J<>-10 THEN BEGIN WRITE(' INTEGER NEGATION TEST FAILED, '); WRITELN(J,' INSTEAD OF -10'); FAIL := TRUE END; B := TRUE; F := B; IF NOT F THEN BEGIN WRITE(' BOOLEAN ASSIGNMENT (TRUE) FAILED, '); WRITELN('FALSE INSTEAD OF TRUE'); FAIL := TRUE END; B := FALSE; F := B; IF F THEN BEGIN WRITE(' BOOLEAN ASSIGNMENT (FALSE) FAILED, '); WRITELN('TRUE INSTEAD OF FALSE'); FAIL := TRUE END; C := 'X'; H := C; IF H<>'X' THEN BEGIN WRITE(' CHARACTER ASSIGNMENT FAILED, '); WRITELN('RESULT OF "',H,'" INSTEAD OF "X"'); FAIL := TRUE END; WRITELN(' ARRAY ASSIGNMENT TESTS'); AIN[0] := 25; AIN[5] := AIN[0]; IF AIN[5]<>25 THEN BEGIN WRITE(' INTEGER ARRAY ASSIGNMENT FAILED, '); WRITELN(AIN[5],' INSTEAD OF 25'); FAIL := TRUE END; ABL[-3] := TRUE; ABL[3] := ABL[-3]; IF NOT ABL[3] THEN BEGIN WRITE(' BOOLEAN ARRAY ASSIGNMENT (TRUE) FAILED, '); WRITELN('FALSE INSTEAD OF TRUE'); FAIL := TRUE END; ABL[0] := FALSE; ABL[5] := ABL[0]; IF ABL[5] THEN BEGIN WRITE(' BOOLEAN ARRAY ASSIGNMENT (FALSE) FAILED, '); WRITELN('TRUE INSTEAD OF FALSE'); FAIL := TRUE END; ACH[10] := 'A'; ACH[23] := ACH[10]; IF ACH[23]<>'A' THEN BEGIN WRITE(' CHARACTER ARRAY ASSIGNMENT FAILED, '); WRITELN('RESULT OF "',ACH[23],'" INSTEAD OF "A"'); FAIL := TRUE END; WRITELN('ARITHMETIC TESTS'); WRITELN(' INTEGER ARITHMETIC TESTS'); I := 5 + 5; J := I + 10; J := J + I; IF J<>30 THEN BEGIN WRITE(' ADDITION FAILED, '); WRITELN(J,' INSTEAD OF 30'); FAIL := TRUE END; I := 20 - 8; J := I - 10; J := I - J; IF J<>10 THEN BEGIN WRITE(' SUBTRACTION FAILED, '); WRITELN(J,' INSTEAD OF 10'); FAIL := TRUE END; I := 2 * 3; J := I * 4; J := J * I; IF J<>144 THEN BEGIN WRITE(' MULTIPLICATION FAILED, '); WRITELN(J,' INSTEAD OF 144'); FAIL := TRUE END; I := 100 DIV 5; J := I DIV 10; J := I DIV J; IF J<>10 THEN BEGIN WRITE(' DIVISION FAILED, '); WRITELN(J,' INSTEAD OF 10'); FAIL := TRUE END; I := 102 MOD 15; J := I MOD 7; J := I MOD J; IF J<>2 THEN BEGIN WRITE(' MOD FAILED, '); WRITELN(J,' INSTEAD OF 2'); FAIL := TRUE END; I := 10; J := I + 7; J := (J - I) * (I - 2 * J); IF J<>-168 THEN BEGIN WRITE(' HIERARCHY FAILED, '); WRITELN(J,' INSTEAD OF -168'); FAIL := TRUE END; WRITELN; WRITE('ENTER "C" TO CONTINUE'); READLN(C); WRITELN; WRITELN; WRITELN('PROCEDURE AND FUNCTION TESTING'); WRITELN(' PROCEDURE CALL TESTS'); I := 0; WRITE(' PROCEDURE 1 '); PTEST1; IF I<>0 THEN BEGIN WRITELN(' INTEGER LOCAL VARIABLES DAMAGING GLOBALS'); FAIL := TRUE END; J := 25; WRITE(' PROCEDURE 2 '); PTEST2(10,J); IF J<>24 THEN BEGIN WRITELN(' CALL BY REFERENCE INTEGER NOT RETURNED CORRECTLY'); FAIL := TRUE END; WRITELN(' RECURSIVE PROCEDURE TEST (5..0)'); WRITE(' '); I := 5; PTEST3(I); WRITELN; IF I<>5 THEN BEGIN WRITELN(' CALL BY VALUE IN RECURSIVE TEST FAILED'); FAIL := TRUE END; WRITELN(' FUNCTION CALL TESTS'); I := 0; WRITE(' FUNCTION 1 '); I := FTEST1(I); IF I<>100 THEN BEGIN WRITELN(' FUNCTION NOT RETURNING CORRECT VALUE'); FAIL := TRUE END; WRITELN(' RECURSIVE FUNCTION TEST (0..5)'); WRITE(' '); I := 5; J := FTEST2(I); WRITELN; IF I<>5 THEN BEGIN WRITELN(' CALL BY VALUE IN RECURSIVE FUNCTION TEST FAILED'); FAIL := TRUE END; IF J<>10 THEN BEGIN WRITELN(' FUNCTION NOT RETURNING CORRECT VALUE DURING RECURSION'); FAIL := TRUE END; WRITELN; WRITELN('TESTING COMPLETE'); IF FAIL THEN WRITELN('ERRORS FOUND') ELSE WRITELN('NO ERRORS FOUND') END. >10 THEN BEGIN WRITELN(' FUNCTION NOT RETURNING CORRECT VALUE DURING RECURSION'); FAIL := TRUE END; WRITELN; WRITELN('TESTING COMPLETE'); IF FAIL THEN WRITELN('ERRORS FOUND') ELSE WRITELN('NO ERRORS F(A$,B1,B1(B1))2-LP(Z$,"',"):P011302VP1(Z$,"'"):Y$(&H22)(Z$,P12,P(P12))(&H22):FO$(FC)"F":FP$(FC)Y$:(Z$,P11,1)"$"FR$(FC)"NC":FR$(FC)"CR"2`12002jP(Z$,",'"):P011603htP1(Z$,"'"):P(P11,Z$,"'"):Y$(&H22)(Z$,P12,P(P12))(&H22):FO$(FC)"L":FP$(FC)Y$:(Z$,P11,1)"$"FR$(FC)"NC":FR$(FC)"CR"3s~12003P(Z$,"'"):P011904P1(2,Z$,"'"):Y$(&H22)(Z$,P2,P1(P2))(&H22):FO$(FC)"O":FP$(FC)Y$:(Z$,P1,1)"$"FR$(FC)"NC":FR$(FC)"CR"4120045FO$(FC)"N":FP$(FC)""4cLN$(A$,(A$," ")1):FL$(FC)LN$:8004P(A$,"="):P1(A$,","):P2(P11,A$," "):P20P2(A$)14ąP0P1P P2P1 12405·#DV,A$:#DV,P1)"^":#DV,SE$:"EDIT FILE AND RE-COMPILE":#1:#2:T$:5'P3(P11,A$,",")5CFR$(A$,P1,P1(P1))5hP30ST$(A$,P31,P2(P31))5zP30ST$"1"5P3013005 T0$(A$,P11,P2(P11)):13105T0$(A$,P11,P3(P11))5P4(A$,"DO "):P4012306?(P4P43:VR$(A$,P4,PP4):A$"FOR "VR$"="FR$" TO "T0$" STEP "ST$:10006d2P(A$,"SUBROUTINE "):P012306o>>>";Z$9,144096LL$(A$,(A$," ")):@FO$(I)"O"A$LL$"PRINT#"(Y)","FP$(I):1680:"JAC$(A$,(A$)(A$,")")):4TP(AC$,","):B^P01650:shAC$(AC$,P1)";"(AC$,(AC$)P):1620:rFO$(I)"N"A$LL$"PRINT#"(Y)","AC$:1510:|FO$(I)"F"A$LL$"PRINT#"(Y)","FP$(I)";"AC$:1680;!FO$(I)"L"A$LL$"PRINT#"(Y)","AC$";"FP$(I);<FR$(I)"NC"A$A$";";G1510;P(A$,"GOTO"):N$(A$,(A$)(P4)):I1GC:GL$(I)N$1730;I;#DV,A$:#DV,"ERROR: UNRESOLVED GOTO LABEL":#DV,">>>>";N$:1440<A$(A$,(A$,"GOTO")3)GT$(I):1510>>>";N$<ꁥ1440<A$(A$,(A$," "))"GOSUB"SL$(I):1510=P(A$,"("):P1(A$,","):PP1:Y((A$,P,P1P)):Y5Y0:Y6Y2:Y7Y1=jA$(A$,(A$," "))"INPUT#"(Y)","(A$,(A$)(A$,")")):1510=:* CHANGE 'IF' STATEMENTS=P(A$,"."):P1(P1,A$,"."):TS$(A$,P1,P1(P1)):I15:TS$FF$(I)1850=&I=01230>x:P2(A$,"(")1:P3(A$,")"):A$(A$,(A$," "))"IF "(A$,P2,PP2)FB$(I)(A$,P11,P3(P11))" THEN "(A$,(A$)P3):1480>D:8)"EDITING UTILITIES":?N"1 COPY FILE FROM TAPE TO DISK"::"2 CONVERT DISK FILE FROM BASIC EDITOR TO FORTRAN FORMAT"::"3 RETURN TO COMPILER":?,X"COICE: ";X$?HbX(X$):X1X31880?_lX 1910,2000,100?}v:"TAPE FILENAME: ";TF$?"DISK FILENAME: ";DF$?"READY TAPE AND PRESS ";X$?"I",#1,TF$?"O",#1,DF$?#1,A$?#1,A$@(1)11960@#ƚ#1:#1:1860@xл"NAME OF FILE (INCLUDING THE EXTENSION) CREATED BY THE BASIC EDITOR: ";TF$@ڻ"NAME OF FILE (INCLUDING THE EXTENSION) TO BE WRITTEN IN FORTRAN FORMAT: ";DF$@"I",#1,TF$:"O",#2,DF$@#1,A$A