/USE WITH PALD—DEC-D8-ASAC-LA / /8K OVERLAY FOR PALD /EXTERNAL SYMBOL TABLE STORED IN FIELD 1 /FROM PAGE 1 TO PAGE 20 M1=133 P7400=156 P7600=145 C200=112 BLKPTR=5327 BLKTAB=5330 LNKPTR=5331 SNUM=5332 SDECOD=5200 ERR1=77 P12=153 BUFTOP=5333 SADR=23 VADR=22 P37=142 P1740=5334 P3=151 / / / / / *6200 CDSVRV, JMP .+5 /JUMP .SYM SEARCH / /REPLACE PALD CODING WITH THE FOLLOWING / *5221 SVIRTL, TAD I BLKPTR /RECORD PREVIOUS BLOCK DCA LNKPTR TAD SNUM TAD P7400 AND P1740 CLL RTR RTR RAR TAD BLKTAB DCA BLKPTR / TAD SNUM AND P37 IAC CLL RTL CIA IAC TAD BUFTOP DCA SADR TAD SADR TAD P3 DCA VADR / TAD I BLKPTR /IS NEXT BLOCK ZERO? SNA CLA JMP SERROR /YES, EXCEEDS SYMBOL TABLE TAD I BLKPTR /IS BLOCK SAME AS LAST? CIA TAD LNKPTR /PREVIOUS BLOCK SNA CLA SDECOD /YES TAD I BLKPTR /NO, READ IN BLOCK JMS SREAD JMP I SDECOD /NOW RETURN / SERROR, TAD P12 JMS I ERR1 JMP I P7600 / /TO READ OR WRITE 200 WORDS FROM FIELD 1 /BLOCK (IN FIELD 1) TO BE READ MUST BE IN AC /IF SNUM IS ZERO, WRITE / SREAD, 0 CIA DCA LNKPTR /-BLOCK NUMBER /PAGE STARTING ADDRESSES TAD C200 ISZ LNKPTR JMP .-2 DCA FROM /INDEX TAD BUF DCA TO /INDEX /READ OR WRITE? TAD P7600 DCA LNKPTR /SET TO READ (WRITE) 200 WORDS TAD SNUM /ZERO FOR WRITE SNA CLA JMP WRITE JMP READ BUF, 5400 FROM, 0 /INDEX / *5305 SWRITE, 0 DCA SNUM /SET TO WRITE TAD I BLKPTR JMS SREAD TAD . DCA SNUM /RESET TO READ JMP I SWRITE *5335 BLKTBS, 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 0 / *5355 READ, CDF+10 TAD I FROM ISZ FROM CDF DCA I TO ISZ TO ISZ LNKPTR JMP READ JMP I SREAD / WRITE, TAD I TO ISZ TO CDF+10 DCA I FROM ISZ FROM CDF ISZ LNKPTR JMP WRITE JMP I SREAD TO, 0 /INDEX / / / $