File CB.TK

Directory of image this file is from
This file as a plain text file

/******* MULTI8 CONTROL-B MODULE *******
/LAST EDIT:  3-AUGUST-75, JV
/LAST EDIT: 10-DECEMBER-74, ELC

/THIS MODULE INTERPRETS THE INPUT THAT THE INPUT READER
/OF A BACKGROUND HAS ACCUMULATED. IT IS ENTERED WITH
/A POINTER TO THE BACKGROUNDS DATA AREA IN THE AC.
/IT READS THE COMMAND FROM THE NORMAL INPUT BUFFER.
/COMMANDS:
/
/AC 1234		SET THE BACKGOUNDS AC
/BOOT			BOOTSTRAP OS/8 FOR THIS BG
/FIELD 12		SET THE BG INSTRUCTION AND DATAFIELD
/KILL			RESTART THE BG AT 7600, FIELD 0
/PC 1234		SET PC TO 1234
/SWITCH 1234		SET USERS SWITCH REGISTER TO 1234
/WHERE			PRINT THE CURRENT STATUS OF THIS BG
/(RETURN)		CONTINUE THE BG WHERE HE WAS INTRPTED
/
/THE COMMANDS ARE RECOGNISED ON THE FIRST CHARACTER ONLY,
/THEN THE INPUT IS SCANNED FOR A NUMBER.

*200 "C^100+"B&3777 /NAME IS "CB" 200 /ONE PAGE, NO CONNECTS CBLIST, CBLST-1 /WILL BE ABSOLUTISED BY OUR DEAR MONITOR CBNUMB, 0 CB, DCA BASE //USES SAME ZTEM AS RESIDENT CODE JMS CBREAD //GET THE FIRST CHARACTER TAD M215 /EMPTY LINE ? SNA JMP CBXIT /YES, CONTINUE BG EXECUTION TAD C215 DCA CBCOMND /IT DETERMINES THE ACTUAL COMMAND DCA CBNUMB /HER WE WILL ACCUMULATE THE NUMERIC INPUT CBLOOP, JMS CBREAD TAD M215 SNA JMP CBBRANCH /END OF LINE: DO IT NOW TAD (215-270 /SEE IF IT IS A NUMBER SMA JMP CBLOOP /NO, SKIP IT TAD (10 SPA JMP CBLOOP /NOT OCTAL, SKIP IT DCA ZTEM1 TAD CBNUMB CLL RTL RAL AND C7770 TAD ZTEM1 DCA CBNUMB /WE HAVE TAKEN THE NEW OCTIDE IN ACCOUNT JMP CBLOOP /SEE IF THERE'S MORE CBBRANCH,TAD CBLIST DCA AUTO10 CBBR1, TAD I AUTO10 CIA STL TAD CBCOMND /COMPARE WITH COMMAND SNA CLA JMP I AUTO10 /FOUND IT! ISZ AUTO10 /SKIP PAST JUMP JMP CBBR1 /SEE IF NEXT ONE IS OK CBREAD, 0 /READ A CHAR FROM INPUT BUFFER CLA CLL CDTOIF CIF MONFLD JMS I (MTQ UBUFIN JMP CBERROR JMP I CBREAD
CBLST, "A;JMP CBAC "B;JMP CBBOOT "K;JMP CBKILL 203;JMP CBKILL /^C "F;JMP CBFIELD 215;JMP CBXIT /CR "P;JMP CBPC "S;JMP CBSWITCH "W;JMP CBWHERE CBCOMND, 0 /MUST BE HERE TO END THE BRANCH LOOP JMP CBERROR CBAC, TAD CBNUMB /STORE CBNUMB IN USERS AC JMS CBPUT UAC JMP CBNEXT /ASK FOR NEW COMMANDS CBKILL, TAD C7600 JMS CBPUT UPC TAD (BGFLD%10+BGFLD+100 /SET USERMODE, FIELDS 0 JMS CBPUT UFLDS JMP CBXIT /AND START THE BG CBFIELD,TAD CBNUMB IFZERO BGFLDS-2 < AND (4011 /FIELD 0 OR 1, AND LINK > IFNZRO BGFLDS-2 < IFZERO BGFLDS-4 < AND (4033 /FIELD 0,1,2 OR 3, AND LINK > IFNZRO BGFLDS-4 <BGFDSR,XERROR> > TAD (BGFLD%10+BGFLD+100 /SET USERMODE JMS CBPUT UFLDS CBNEXT, AC0001 /1 IS GET-NEXT-COMMAND RETURN CBXIT, JMS MONITOR EXIT SWPOUT
CBPC, TAD CBNUMB JMS CBPUT UPC /DROP IN HIS PC JMP CBNEXT CBBOOT, TAD CBNAM1 CBWHERE,TAD CBNAM2 DCA CBNAM /STORE NAME IN RUN-REQUEST CDF MONFLD TAD BASE JMS MONITOR CALL CBNAM, 0 CBERROR,ACM1 /BUSY ? -1 IS ERROR RETURN. JMP CBXIT CBSWITCH,TAD CBNUMB JMS CBPUT USW JMP CBNEXT CBPUT, 0 /SUBROUTINE TO STORE IN BG-DATA DCA MONITOR /STORE TEMPORARY TAD I CBPUT TAD BASE DCA X TAD MONITOR CDF MONFLD DCA I X CDTOIF ISZ CBPUT JMP I CBPUT CBNAM1, "B-"B^100+"O-"E CBNAM2, "B^100+"E&3777 $



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search