ASMB,L,C HED *****OVERLAY PROGRAM***** NAM REMOT EXT MPON,MPOFF ENT REMOT EXT EXEC A EQU 0 B EQU 1 REMOT NOP JSB EXEC SEARCH FOR OVERLAY FILE DEF O1 DEF SRCH DEF NAME DEF NSECT O1 EQU * LDA NSECT SZA,RSS FIND JMP ERR1 NO CMA YES STA NSECT SAVE NO. OF SECTORS CLA STA RSECT SET REL. SECTOR TO 0 JMP O6 YES O4 EQU * JSB READD READ NEXT SECTOR JMP EXIT LAST ONE O2 EQU * LDA BUFR SZA,RSS POINTER ZERO JMP EXIT YES-DONE CMA,INA NO STA ITEM SAVE NO. OF ENTRIES ADA MAX STA FLAG INDICATE FULL OR PARTIAL RECORD LDA BSTRT STA PNTR SET POINTER O3 EQU * LDB PNTR,I PICKUP ADDRESS ISZ PNTR LDA PNTR,I PICKUP DATA ISZ PNTR JSB EXEC STORE IT IN CORE DEF *+2 DEF CRITE ISZ ITEM ALL ITEMS THIS SECTOR JMP O3 NO LDA FLAG SZA PROCESSED A FULL RECORD JMP EXIT NO-NO NEED TO LOOK FURTHER JMP O4 EXIT EQU * JSB MPOFF SW OFF MEM PROT CLF 0 GET THAT DAMN THING OFF JSB FRED,I JSB MPON SW MEM PROT ON JSB EXEC RETURN TO DOS DEF *+2 DEF *+1 DEC 6 ERR1 EQU * JSB EXEC OUTPUT UNDEFINED MSG DEF O5 DEF WRITE DEF TYPE DEF NAME DEF MSGL O5 EQU * JMP EXIT O6 EQU * JSB FETCH GET WORD COUNT ALF,ALF SZA,RSS NON-ZERO JMP EXIT NO-END OF LOAD CMA,INA STA ITEM JSB FETCH GET ADDRESS STA CKSM CLB CMA,INA SEE IF THIS- ADA =B30000 ONE IS A PART OF BCS SSA,RSS OR IF ITS THE SWAP- LDB =B30000 PROGRAM IF SO DONT LDA CKSM RELOCATE IT. ADA B STA ADDR O7 EQU * JSB FETCH GET DATA STA B ADB CKSM ACCUMULATE CHECKSUM STB CKSM LDB ADDR GET ADDRESS STA B,I ISZ ADDR INCR ADDRESS ISZ ITEM DONE JMP O7 NO JSB FETCH YES-GET CHECKSUM CPA CKSM MATCH JMP O6 YES JSB EXEC NO-PUTPUT ERROR MSG DEF O8 DEF WRITE DEF TYPE DEF ERMSG DEF MSGL2 O8 EQU * JMP EXIT ERMSG ASC 7,CHECKSUM ERROR ABS NOP CKSM NOP SCNT NOP MSGL2 DEC -14 * ADDR NOP *************** FETCH EQU * NOP LDA SCNT SZA READ NECESSARY JMP *+3 NO JSB READD READ NEXT SECTOR JMP EXIT END OF THE LINE LDA PNTR,I ISZ PNTR ISZ SCNT NOP JMP FETCH,I * * READD EQU * NOP ISZ NSECT LAST SECTOR JMP *+2 NO JMP READX YES-RETURN+1 JSB EXEC READ 1 SECTOR DEF READ1 DEF READ DEF DISK READ2 DEF BUFR DEF BUFL DEF NAME DEF RSECT READ1 EQU * LDA READ2 STA PNTR SET PNTR TO TOP OF SECTOR LDA =D-128 STA SCNT SET SECTOR COUNT ISZ RSECT BUMP RELATIVE SECTOR ISZ READD RETURN+2 READX EQU * JMP READD,I * MAX DEC 63 FLAG NOP NAME EQU * ASC 3,RJE ASC 5, UNDEFINED MSGL DEC -16 PARAM BSS 5 NSECT EQU PARAM+1 RSECT EQU PARAM+2 ITEM EQU PARAM+3 PNTR EQU PARAM+4 * BUFR BSS 128 BSTRT DEF BUFR+1 BUFL DEC 128 SRCH DEC 18 READ DEC 14 DISK OCT 102 CRITE DEC -19 WRITE DEC 2 TYPE OCT 401 F OCT 2000 FRED OCT 57600 END REMOT 24380-18027 1402