/ INFORMATION CONTROL SYSTEMS INC / 424 W WASHINGTON / ANN ARBOR, MICHIGAN / / ICS ONE PAGE DECTAPE ROUTINES / / CALL IS ... JMS XXXX / UNIT NUMBER IN BITS 0-5, ZEROS IN BITS 6-11 / NUMBER OF BLOCKS TO BE READ OR WRITTEN / CORE ADDRESS TO START AT / TAPE BLOCK NUMBER TO START AT / / THE ROUTINES WILL READ OR WRITE FROM THE SPECIFIED / DECTAPE UNIT AND DELAY THE PROGRAM UNTIL ALL I/0 / IS COMPLETED. THE LAST BLOCK READ WILL OVERFLOW THE / SPECIFIED REGION AND DESTROY ONE CORE / LOCATION. ONLY STANDARD 129 WORD DECTAPE BLOCKS WILL / BE READ OR WRITTEN. THE ROUTINES WILL HALT IF AN / ERROR OCCURS WITH THE STATUS BITS IN THE AC. / / XXXX AS DEFINED IN THE CALL IS READ OR WRITE. *6200 IR10=10 IR11=11 / / / WRITE, 0 CLA TAD WRITE JMS PICKUP /PICK UP ARGS AND SET UNIT DCA WRITE /SAVE FOR PROPER RETURN JMS SEARCH /FIND BLOCK TAD WRF /WRITE FORWARD BITS JMS WORK /DO ALL WORK MMSC /CHECK FOR ERROR IN LAST BLOCK JMP I WRITE /OK...RETURN JMP TILT / / READ, 0 CLA TAD READ JMS PICKUP /PICK UP ARGS DCA READ /SAVE FOR PROPER RETURN JMS SEARCH /FIND BLOCK TAD RDF /READ FORWARD BITS JMS WORK /DO ALL WORK MMSC /CHECK FOR ERROR IN LAST BLOCK JMP I READ /RETURN IF NONE JMP TILT / / WORK, 0 /ENTER WITH PROPER FUNCTION BITS IN AC MMLF /TO DECTAPE CONTROL RLP, TAD CORE /CORE ADDRESS MMML /TO DECTAPE CONTROL TAD CORE /CORE ADDRESS TAD K0200 /+128 DCA CORE /NEW ADDRESS JMS DELAY /WAIT FOR FLAG ISZ NBLOCK /ARE WE THROUGH JMP RLP /NO TAD STOP /YES ... STOP TAPE MMMM JMP I WORK /RETURN / / ROUTINE TO PICK UP ARGUEMENTS / PICKUP, 0 DCA T /SAVE ADDRESS TAD M5 /-5 DCA T1 /TO INDEX LOC TAD ASM1 /ADDRESS OF BIT PATTERNS DCA IR10 /TO AUTO 10 TAD ASM1 /ADDRESS OF BIT PATTERNS DCA IR11 /ALSO TO AUTO 11 TAD I IR10 /BIT PATTERN AND C77 /MASK OUT OLD UNIT TAD I T /ADD IN UNIT DCA I IR11 /GIVES NEW BIT PATTERN ISZ T1 /REPEAT 5 TIMES JMP .-5 ISZ T TAD I T /NO OF BLOCKS CIA DCA NBLOCK /PLACE COMPLEMENT IN LOC ISZ T TAD I T /CORE ADDRESS DCA CORE ISZ T TAD I T /TAPE BLOCK NUMBER DCA RBLOCK ISZ T TAD T JMP I PICKUP /RETURN / / ROUTINE TO SEARCH FOR BLOCK NUMBER / SEARCH, 0 MMCF /CLEAR DECTAPE FLAGS TAD RBLOCK /PLACE -REQUESTED BLOCK NO CIA /IN MRBLK DCA MRBLK SFWD, TAD SRCHF /SEARCH FORWARD BIT STRUCTURE MMMM /TO DECTAPE CONTROL JMS DELAY /INITIAL 70 MS DELAY FSC, DCA DIREC /SET DIRECTION SWITCH / SCONT, TAD ABLOCK /ADDRESS OF TAPE BLOCK NUMBER MMML /TO DECTAPE UNIT JMS DELAY /WAIT FOR BLOCK TO BE FOUND TAD BLOCK /ACTUAL BLOCK TAD MRBLK /-REQUESTED BLOCK SNA /ARE WE THERE JMP FOUND /YES ISZ DIREC /NO ... WHAT DIREC ARE WE GOING JMP .+4 /FORWARD SMA CLA /REVERSE ... IS REV CORRECT JMP RSC /YES ... LET SEARCH CONTINUE JMP REVD /NO ... REVERSE DIRECTION / SPA CLA /IS FWD CORRECT JMP FSC /YES ... LET SEARCH CONTINUE /NO ... REVERSE DIRECTION / REVD, TAD DIREC /DIRECTION SWITCH SZA CLA /REV=0,FWD=1 AT THIS TIME JMP SREV /SEARCH REVERSE JMP SFWD /SEARCH FORWARD / SREV, TAD SRCHR /SEARCH REVERSE BIT STRUCTURE MMMM /TO DECTAPE CONTROL JMS DELAY /INITIAL 70 MS DELAY RSC, CLA CMA /-1 DCA DIREC /TO DIRECTION SWITCH JMP SCONT /WAIT FOR A BLOCK TO BE FOUND / DELAY, 0 MMCF /CLEAR FLAGS CLA CLL MMSF /SKIP ON DT FLAG JMP .-1 MMSC /SKIP ON ERROR FLAG JMP I DELAY /RETURN / TILT, TAD STOP /STOP TAPE MMMM MMRS /READ STATUS BITS HLT /HALT WITH STATUS IN AC / FOUND, ISZ DIREC /BLOCK FOUND ... WHICH WAY ARE WE GOING JMP I SEARCH /FORWARD ... RETURN JMS DELAY /REVERSE ... WAIT UNTIL WE PASS OVER IT JMP SFWD /GO TO SEARCH FORWARD TO FIND IT AGAIN / / / ABLOCK, BLOCK ASM1, STOP-1 BLOCK, 0 CORE, 0 DIREC, 0 MRBLK, 0 NBLOCK, 0 RBLOCK, 0 T, 0 T1, 0 / / DECTAPE BIT PATTERNS / STOP, 0000 SRCHF, 0021 SRCHR, 0031 RDF, 0022 WRF, 0024 / K0200, 0200 C77, 0077 M5, -0005 $