File RTSXOD.PA (PAL assembler source file)

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

/XOD (DECUS 8-89)


	/FOR FOCL/F
	/	BRLOC=2
	/	N=0
	/	H=1


	IFNDEF XODENTRY <
	IFNDEF ENTRY <ENTRY=7000>>
	IFDEF XODENTRY <ENTRY=XODENT+400>
	IFNDEF BRLOC <BRLOC=5	/5,6 & 7 ARE STANDARD BREAK>
	IFNDEF XODFLD <
	IFNDEF N <N=1	/RESIDENCE FIELD FOR XOD>>
	IFDEF XODFLD <N=XODFLD%10>
	IFNDEF HGHFLD <
	IFNDEF H <H=N	/HIGHEST FIELD USED>>
	IFDEF HGHFLD <H=HGHFLD>

	FIELD N
	*ENTRY-400

START,	0		/MCR ENTERS HERE
	RDF		/OF MCR
	DCA MCRFLD	/SAVE FIELD
	JMP I (ENTRY
RESUM,	CLA CLL		/RID OF JUNK IF THERE
	TAD MCRFLD	/GET MCR FLD
	DCA PROCIF	/START IN MCR FIELD
	TAD MCRFLD
	DCA SAVDF	/START IN MCR DF
	TAD START	/WHERE TO START
	SNA
	JMP ERROR	/ZERO'S NOT ALLOWED
	DCA PRAD	/PROCEED FROM THERE
	DCA START	/CLEAR WHERE FROM FOR NEXT TIME
	ISZ TTYSAV	/LEAVE TTY FLAG UP
	JMP APOSQ

MCRFLD,	0

APOS3,	TAD (NOP
	DCA DIRADI
	TAD TEMP2
	AND (4400
	SZA CLA
	JMP .+5
	TAD PRIN	/DIRECT AND,TAD,ISZ,DCA
	DCA DIRADI
	TAD (NOP
	DCA PRIN
	TAD PRAD
	DCA PRINAD	/SET UP PROCEED ADDRESS
	RIF
	TAD (CIF
	DCA RENTER	/SET UP CIF '.' TO DISABLE INTERRUPTS
	TAD BKPTIF
	SPA		/IS A BREAKPOINT ASSIGNED
	JMP NOBKPT	/ NO
	JMP APOS4
STMASK, ISZ LL		/SET MASK
UL,	ISZ LL		/SET UPPER LIMIT
	JMP LL
CR,	SNL		/ANYTHING TYPED
	ISZ OREG	/ IS A REGISTER OPEN
	JMP CR0		/ NO OR NO
	JMS STORE	/ YES, BOTH, STORE EXPRESSION
	JMP CR0	

APEXS,	0		/APOS, EXCL SUBROUTINE
	CMA
	DCA PROCCT	/SET UP PROCEED COUNTER
	TSF
	JMP .-1		/WAIT FOR TTY FLAG TO SET
	JMP I APEXS

MONIT,	7600		/CLA
	CIF CDF		/SET IF AND DF TO 0
	JMP I .-2	/GO TO 07600

BKPTYP, JMS TYDIG	/TYPE FIELD NUMBER AND SEPARATOR
	TAD BKLAST
	JMS OCPT	/TYPE BREAKPOINT LOCATION
	TAD (251
	JMS TYO		/TYPE RIGHT PARENTHESIS
	JMS TYO		/TYPE SPACE
	TAD SAVLNK
	JMS TYDIG	/TYPE LINK AND SEPARATOR
	TAD SAVAC
	JMS OCPT	/TYPE ACCUMULATOR
	JMP RETURN

TYDIG,	0		/TYPE DIGIT AND SEPARATOR
	TAD (260
	JMS TYO		/TYPE DIGIT
	TAD (273	/SEMICOLON
	JMS TYO		/TYPE SEPARATOR
	JMP I TYDIG	/ EXIT

OCPT,	0		/TYPE FOUR OCTAL DIGITS
	CLL RAL
	DCA OCPTNM	/FOR KEEPING NUMBER
	TAD (-4
	DCA OCPTCT	/FOR DIGIT COUNT
OCPT1,	TAD OCPTNM	/GET NUMBER
	RTL		/ROTATE LEFT THREE BITS
	RAL
	DCA OCPTNM	/SAVE AGAIN
	TAD OCPTNM
	AND (7		/MASK TO DIGIT
	TAD (260	/FORM ASCII CODE
	JMS TYO		/TYPE DIGIT
	ISZ OCPTCT	/INDEX, TEST COUNT
	JMP OCPT1	/KEEP GOING
	JMP I OCPT	/EXIT

QUOTE,	DCA BKPT	/STORE CURRENT EXPRESSION
	RAR		/SET LINK IF NO EXPRESSION
	TAD FIELDD	/GET CURRENT FIELD
	DCA BKPTIF	/STORE FIELD WITH INDICATOR
	JMP CR0

OCPTNM= APEXS		/KEEPS OCTAL PRINT NUMBER
OCPTCT= TYDIG		/DIGIT COUNT FOR OCPT

PAGE

SAVLNK, 0 /SAVED LINK AT BREAKPOINT SAVAC, 0 /SAVED ACCUMULATOR AT BREAKPOINT SAVDF, 0 /SAVED DATA FIELD AT BREAKPOINT TTYSAV, 0 /SAVES TTY FLAG STATUS, 0=CLEAR, NON-0=SET IONSAV, 0 /0 OR 1 TO SAVE INTERRUPT STATUS PROCCT, 0 /PROCEED COUNTER BKPTIF, 4000 /BREAKPOINT FIELD (BITS 6-8) OR MINUS SIGN TO /INDICATE NO BREAKPOINT ASSIGNED BKPT, 0 /BREAKPOINT LOCATION PROCIF, 4000 /PROCEED INSTRUCTION FIELD (BITS 6-8) OR MINUS /TO INDICATE A PROCEED CANNOT BE DONE BKLAST, 0 /LAST BREAK LOCATION,USED FOR PROCEEDING FIELDS, H^10 /HIGHEST FIELD USED (BITS 6-8) /RE-ENTER AFTER BREAKPOINT ENCOUNTERED OR AFTER FORCED INTERRUPT RENTER, CIF!N^10 /CIF '.' OR JMP INTRPT / OR 0000 (INDICATOR /OF RESTART NOW IS FROM WITHIN THIS PROGRAM) DCA SAVAC /SAVE ACCUMULATOR GLK /LINK TO BIT 11 DCA SAVLNK /SAVE LINK RDF DCA SAVDF /SAVE DATA FIELD TAD BKPT DCA BKLAST /SAVE THE BREAKPOINT LOCATION 12-BIT ADDRESS TAD BKPTIF DCA PROCIF /SAVE THE BREAKPOINT LOCATION FIELD DCA IONSAV /CLEAR TO INDICATE IOF IAC DCA TTYSAV /STORE NON-ZERO SO TTY FLAG IS UNAFFECTED ISZ PROCCT /INDEX AND TEST PROCEED COUNTER JMP MULTPR /MULTIPLE PROCEEDS CCDF, CDF 0 /TIME TO INFORM USER. LOOK AT FIELD 0 TAD I (0 DCA SAV0 /SAVE LOCATION 00000 TAD I (1 DCA SAV1 /SAVE LOCATION 00001 TAD (-4 DCA COUNT1 /SET UP COUNT FOR TIMING LOOP TAD (JMP INTRPT DCA RENTER /RESET RENTER IN CASE OF FORCED INTERRUPT TAD (JMP BRLOC DCA I (1 /SET UP TO RE-ENTER IN CASE OF INTERRUPT CLA IAC /SET ACC. TO 1 TO INDICATE TTY FLAG SET WAITLP, ISZ TEMP1 /WAITLOOP JMP WAIT /THIS ALLOWS INTERRUPT AFTER CIF AT RENTER ISZ COUNT1 /SKIP ON 100 MS. TIME-OUT JMP WAIT CLA /TTY FLAG WAS CLEAR, SET TO NULLL CHARACTER TLS /TYPE IT, CLEAR TTY FLAG UNTIL 100 MS. WAIT, TSF /IS FLAG CLEAR JMP WAITLP /YES, KEEP WAITING DCA TTYSAV /SAVE 0 FOR CLEAR OR 4000 FOR SET TAD SAV0 DCA I (0 /RESTORE LOCATION 00000 TAD SAV1 DCA I (1 /RESTORE LOCATION 00001 JMS RESFLD /RESTORE DATA FIELD TAD PROCIF CLL RTR RAR JMP BKPTYP /BREAKPOINT TYPE-OUT, ETC. INTRPT, ISZ IONSAV /IN CASE OF INTERRUPT, SET 10 1 JMP WAIT /GO BACK TO WAIT LOOP
APOS4, JMS SETFLD /YES, SET UP DATA FIELD TAD (JMP BRLOC DCA I BKPT /SET UP THE BREAKPOINT INSTRUCTION TAD FIELDS /INITIALIZE TO HIGHEST FIELD NUMBER APOS5, DCA TEMP1 /CONTAINS FIELD NUMBER TAD TEMP1 JMS SETFLD /SET UP FOR FIELD TAD RENTER DCA I (BRLOC /SET UP CIF INSTRUCTION TAD (JMP I BRLOC+2 DCA I (BRLOC+1 /SET UP 'JMP I .+1' TAD (RENTER DCA I (BRLOC+2 TAD TEMP1 TAD M10 /SUBTRACT 1 FROM FIELD NUMBER SMA /ANY MORE FIELDS JMP APOS5 /YES, KEEP GOING NOBKPT, CLA IAC TAD CCDF /FORM CIF TAD PROCIF DCA CIFPRI /SET UP CIF INSTRUCTIONS //FOR THE PROCEEE/D TAD PROCIF JMS SETFLD /SET UP DATAFIELD FOR DIRECT DATA ADDRESSING STL RAR /ACC.=4000 DCA PROCIF /MAKE NEGATIVE SO NO PROCEED UNTIL AFTER BREAK ISZ BKLAST /INDEX POINTER TO LAST BREAK LOCATION M10, 7770 /-10 TAD TTYSAV SNA CLA /ACC. IS 0 IF FLAG IS TO BE CLEARED TAD (TCF DCA TTYPRI /SET UP 0 OR TCF TO PRESERVE TTY FLAG TAD IONSAV /EITHER 0 OR 1 TAD CIOT /IOT DCA IONPRI /SET UP EITHER IOT OR ION TAD SAVLNK CLL RAR /RESTORE LINK TTYPRI, TCF /0 OR TCF TO PRESERVE TTY FLAG TAD SAVAC /RESTORE ACCUMULATOR DIRADI, 0 /DIRECT ADDRESSING JMP .+3 ISZ BKLAST /SKIP OCCURRRED ON ISZ NOP DCA SAVAC TAD SAVDF JMS SETFLD /RESTORE DATA FIELD TAD SAVAC CIFPRI, 0 /CIF TO PROCED FIELD IONPRI, 0 /EITHER IOT OR ION TO PRESERVE INTERRUPT STATUS PRIN, 0 /PROCEED INSTRUCTION JMP I BKLAST /GO TO NEXT INSTRUCTION ISZ BKLAST /SKIP OCCURED NOP /NOTE CHANGE SO PDP8/E WORKS. JMP I BKLAST /GO TO NEXT INSTRUCTION CIOT, 6000 /CONSTANT ANDIPRINTAD=AND I . JMPIPRINTAD=JMP I . PRINAD, 0 /PROCEED INSTRUCTION ADDRESS, IND. ADDRESSED TEMP1=TTYPRI /TEMPORARY SAV0=CIFPRI /SAVED LOCATION 00000 SAV1=IONPRI /SAVED LOCATION 00001 COUNT1=PRIN /TEMPORARY PAGE
C7600, 7600 /CLA, IGNORE ACCUMULATOR TLS /FORCE TYPE OUT TO SET FLAG JMS RESFLD /RESTORE DATA FIELD TAD RENTER /GET EITHER CIF,JMP INTRPT, OR 0. SNA CLA /WAS USER'S PROGRAM RUNNING? JMP CR1 /NO DCA SAVAC /CLEAR SAVED REGISTERS. DCA SAVLNK DCA TTYSAV RETURN, DCA RENTER /RESET INDICATOR JMS CR1S /CHECK FOR ASSIGNED BREAKPOINT TAD BKSAV DCA I TEMP2 /BKPT, RESTORE SAVED INSTRUCTION /AT BREAKPOINT. CR0, JMS RESFLD /RESTORE DATAFIELD CR1, JMS CR1S /CHECK FOR ASSIGNED BREAKPOINT TAD I TEMP2 /BKPT, GET INSTRUCTION THERE. JMS RESFLD /RESTORE DATA FIELD DCA BKSAV /SAVE INSTRUCTION AT BREAKPOINT. JMP CR2 CR1S, 0 /CR1 SUBROUTINE TAD BKPT DCA TEMP2 /SETUP TO BE INDIRECTLY ADDRESSED. TAD BKPTIF SPA /IS THERE A BREAKPOINT ASSIGNED JMP CR2 /NO JMS SETFLD /YES,SETUP DATA FIELD. JMP I CR1S /EXIT EXCL, JMS APEXS /SETUP PROCEED COUNT, WAIT FOR TTY TAD BKLAST DCA TEMP2 /SETUP TO BE INDERECTLY ADDRESSED TAD PROCIF SPA /SKIP IF PROCEED TO BE DONE. JMP ERROR /NO JMS SETFLD /SET DATA FIELD TO PROCEED FIELD TAD I TEMP2 /GET PROCEED INSTRUCTION. JMP .+2 MULTPR, TAD BKSAV /MULTIPLE PROCEEDS, GET PROCEED INST. JMS RESFLD /RESTORE DATA FIELD DCA TEMP2 /SAVE PROCEED INSTRUCION FOR USE. TAD TEMP2 /GET IT BACK. AND (177 DCA PRAD /SET UP PAGE ADDRESS OF SAVED INSTRUCTION TAD TEMP2 /GET PROCEED INSTRUCTION RAL SZL SMA JMP ADRSBL /ADDRESSABLE INSTRUCTION RAR /IOT OR OPR INSTRUCTION JMP APOS2 ADRSBL, RAL RTL /CURRENT PAGE BIT TO SIGN, INDIRECT BIT TO LINK SMA CLA /CURRENT PAGE BIT IS 1 JMP ADRSB1 /NO, PAGE ZERO TAD BKLAST /YES, GET ADDRESS OF INSTRUCTION AND C7600 /MASK TO PAGE BITS TAD PRAD /FORM 12-BIT ADDRESS DCA PRAD /SAVE IT ADRSB1, SNL /INDIRECT BIT IS 1 JMP ADRSB2 /NO TAD PROCIF /YES JMS SETFLD /SET DATA FIELD TO PROCEED INSTRUCTION'S TAD PRAD /GET PROCEED ADDRESS AND C7770 /MASK OUT LOW ORDER THREE BITS TAD C7770 /SUBTRACT 10 SNA CLA /IS PROCEED ADDRESS BETWEEN 10 AND 17 ISZ I PRAD /YES, INDEX AUTO-INDEX REGISTER C7770, 7770 /NOP WHEN ACC. IS CLEAR TAD I PRAD /GET INDIRECT ADDRESS DCA PRAD /SET UP DIRECT EFFECTIVE ADDRESS JMS RESFLD /RESTORE DATA FIELD ADRSB2, TAD TEMP2 /GET PROCEED INSTRUCTION AND C7000 TAD (ANDIPRINAD DCA PRIN /SET UP PROCEED INSTRUCTION INDIRECTLY /ADDRESSING LOCATION PRINAD STL RAR /ACC.=4000 TAD TEMP2 /GET PROCEED INSTRUCTION AND C7000 /MASK TO INSTRUCTION TYPE SZA CLA /IS INSTRUCTION JMS JMP APOS3 /NO TAD BKLAST /YES, SIMULATE STORING OF PROGRAM COUNTER DCA TEMP3 /SET UP TO BE DIRECTLY ADDRESSED TAD PROCIF JMS SETFLD /SET DATA FIELD TO PROCEED INSTRUCTION'S TAD TEMP3 IAC DCA I PRAD /STORE PROGRAM COUNTER+1 JMS RESFLD /RESTORE DATA FIELD ISZ PRAD /INDEX PROCEED ADDRESS C7000, 7000 /NOP JMP APOS1 APOS, SZL JMP ERROR /NO ADDRESS GIVEN DCA PRAD /SET UP PROCEED ADDRESS TAD FIELDD DCA PROCIF /SET UP INSTRUCTION FIELD TAD FIELDD DCA SAVDF /SET UP DATA FIELD APOSQ, DCA IONSAV /SET UP TO HAVE INTERRUPT OFF STL RAR DCA TEMP2 /AVOID DIRECT ADDRESS OF DATA JMS APEXS /SET PROCEED COUNTER TO 1, WAIT FOR TTY APOS1, TAD (JMPIPRINAD APOS2, DCA PRIN /SET UP PROCEED INSTRUCTION JMP APOS3 TEMP2, 0 /TEMPORARIES TEMP3, 0 BKSAV, 0 /INSTRUCTION AT BREAKPOINT SAVED PRAD=CR1S /PROCEED ADDRESS TEMPORAILY PAGE
EXPR, 0 /CURRENT EXPRESSION, MUST BE AT PAGE START LOADER=07777 /ENTRY OF PDP-8 BINARY LOADER. TABLE, 200;LOADER IFNDEF MCR < 203;MONIT> /NO ^C IF RTS8 VERSION CLF, 212;LF CCR, 215;CR TABLE1, "C;EXCL /ABOVE CHARACTERS ARE NOT ECHOED "B;QUOTE "F;NUMB 245;PERC /% ONLY IF NOT RTS8 IFDEF MCR < "R;RESUM /RESUME IN MCR.> "G;APOS 252;ASTR 257;SLASH 274;LESS 276;GREAT 314;LLP,TEMP4P,LL 315;STMASK 325;UL ERROR, CLA CMA /MINUS SIGN SIGNALS END OF TABLE, USED TAD C300 JMS TYO /TYPE QUESTION MARK CR2, JMS CRLF /TYPE CR,LF CR3, DCA OREG /NO OPEN REGISTER DCA TYO /NO EXPRESSION YET CSKP, SKP /USED ASTR, TAD LOC /CURRENT LOCATION LISTEN, DCA EXPR /UPDATE EXPRESSION, USED TAD FIELDD JMS SETFLD /SET DATA FIELD LIGHTS KSF JMP .-1 /WAIT FOR TYPE IN. JMS RESFLD /RESTORE DATA FIELD KRB /READ CHARACTER DCA I TEMP4P /SAVE IT TAD (TABLE-1 DCA CRLF /POINTER TO DISPATCH TABLE LOOK, ISZ CRLF /INDEX POINTER TAD I CRLF /GET NEXT TABLE ENTRY SPA /IT IT THE END JMP DIGIT /YES, CHECK FOR DIGIT CIA STL /NO, MINUS TAD I TEMP4P /ADD BACK CHARACTER ISZ CRLF /INDEX POINTER SZA CLA /DO THEY MATCH JMP LOOK /NO, KEEP LOOKING TAD TYO /LINK NOW CLEARED SNA CLA /ANY EXPRESSION YET STL /NO TAD CRLF /GET POINTER TO DISPATCH ADDRESS TAD (-TABLE1 SPA CLA /SHOULD CHARACTER BE ECHOED JMP .+4 /NO CML /PRESERVE LINK TAD I TEMP4P JMS TYO /ECHO CHARACTER TAD I CRLF DCA CRLF /SET UP DISPATCH ADDRESS TAD CSKP /SKP DCA SLASH1 /SET UP INSTRUCTION TAD LISTEN /3200 DCA I LLP /SET UP INSTRUCTION TAD EXPR /GET EXPRESSION JMP I CRLF /DISPATCH DIGIT, KRB /READ CHARACTER AGAIN TAD M270 /SUBTRACT 270 SMA /IS CHARACTER .GE. 270 JMP ERROR /YES TAD (10 /NO, ADD 10 M270, SPA /IS CHARACTER AN OCTAL DIGIT JMP ERROR /NO DCA CRLF /YES, SAVE IT TAD I TEMP4P /GET CHARACTER JMS TYO /ECHO IT TAD EXPR /GET EXPRESSION CLL RAL /MULTIPLY BY 8 CLL RAL CLL RAL TAD CRLF /ADD IN DIGIT JMP LISTEN /GO UPDATE EXPRESSION CRLF, 0 /TYPE CR,LF, USED AS TEMPORARY C300, CLA CLL /USED AS 300 TAD CCR /CR JMS TYO /TYPE CR TAD CLF /LF JMS TYO /TYPE LF JMP I CRLF /EXIT TYO, 0 /TYPE CHARACTER SNA /IS ACC. ZERO TAD ERROR /YES, GET SPACE TSF JMP .-1 /WAIT FOR FLAG TLS /TYPE CLA JMP I TYO /EXIT SETFLD, 0 /SET DATA FIELD WITH BITS 6-8 OF ACC. TAD (CDF DCA .+1 /SET UP CDF 0 JMP I SETFLD /EXIT RESFLD, 0 /RESTORE DATA TO INSTRUCTION FIELD DCA CRLF /SAVE ACCUMULATOR RIF JMS SETFLD TAD CRLF /RESTORE ACCUMULATOR JMP I RESFLD /EXIT FIELDD, 00 /CURRENT FIELD OF ATTENTION (BITS 6-8) LOC, 0 /CURRENT LOCATION PAGE
LLIM, 0 /LOW LIMIT FOR BLOCK OPERATIONS HLIM, START-1 /HIGH LIMIT FOR BLOCK OPERATIONS MASK, 7777 GREAT, SKP CLA LESS, SKP CLA TAD CM10 /-10, MAKES 'SZA CLA' TAD NUMB1 /SNA CLA JMS SULI /SET UP SKIP INSTRUCTION AND SET UP LIMITS DCA SLASH1 /SET UP INSTRUCTION TAD EXPR AND MASK CIA DCA EXPR SEAR1, JMS FETCH /GET C(C(PT)) AND MASK TAD EXPR TEMP5, /TEMPORARY SEAR2, 0 /'SZA CLA' OR 'SNA CLA' JMP SEAR4 CLL CMA /ACC.=-1, MATCH TAD PT DCA LOC /UPDATE LOCATION AND TYPE RESULT DCA OREG /MAKE REGISTER NOT OPEN LF, SNL /ANYTHING TYPED ISZ OREG /IS A REGISTER OPEN SKP /NO OR NO JMS STORE /STORE IT JMS CRLF /TYPE CR,LF ISZ LOC /INDEX LOCATION TAD LOC JMS OCPT /TYPE LOCATION TAD C257 /257, SLASH JMS TYO /TYPE SLASH TAD LOC SLASH, SZL /ANYTHING TYPED JMP ERROR /NO DCA PT /SAVE EXPRESSION TAD OREG SPA CLA /IS A REGISTER ALREADY OPEN JMP .+3 /YES TAD PT /GET EXPRESSION BACK DCA LOC /NEW LOCATION JMS TYO /TYPE SPACE JMS FETCH /GET C(C(PT)) JMS OCPT /TYPE IT OUT SLASH1, SKP /NORMALLY 'SKP', CHANGED TO '0' BY SEARCHES JMP SEAR4 JMS TYO /TYPE SPACE CLA CMA JMP CR3 /SET UP REGISTER OPEN SEAR4, ISZ PT /INDEX POINTER C257, 257 /NOP, CONSTANT KSF /ALSO CLEAR FLAG SKP JMP CR0 ISZ CNT /INDEX, TEST COUNT JMP SEAR1 /KEEP GOING JMP CR0 PERC, JMS SULI /SAVE EXPRESSION AND SET UP LIMITS TAD FIELDD JMS SETFLD /SET DATA FIELD PERC1, TAD SEAR2 /GET EXPRESSION DCA I PT /STORE EXPRESSION ISZ PT /INDEX POINTER CM10, 7770 /NOP, CONSTANT ISZ CNT /INDEX, TEST COUNT JMP PERC1 /KEEP GOING JMP CR0 /GO RESTORE DATA FIELD OREG, /-1= REGISTER OPEN, OTHERWISE NONE SULI, 0 /SET UP LIMITS DCA SEAR2 /SAVE ACCUMULATOR TAD HLIM CMA TAD LLIM DCA CNT /LLIM-HLIM-1 FOR COUNT TAD LLIM DCA PT /POINTER JMP I SULI /EXIT FETCH, 0 /GET C(C(PT)) TAD FIELDD JMS SETFLD /SET UP DATA FIELD TAD I PT /GET WORD JMS RESFLD /RESTORE DATA FIELD JMP I FETCH /EXIT STORE, 0 /STORE C(ACC) INTO C(PT) DCA TEMP5 /SAVE ACC. TAD FIELDD JMS SETFLD /SET UP DATA FIELD TAD TEMP5 /GET BACK ACC. DCA I PT /STORE WORD JMS RESFLD /RESTORE DATA FIELD JMP I STORE /EXIT
NUMB, SZL /ANYTHING TYPED JMP ERROR /NO CLL RAL CLL RAL CLL RAL CIA STL TAD FIELDS SZL JMP ERROR /REQUESTED FIELD GR. THAN MAX. ALLOWED CIA TAD FIELDS /INPUT IN BITS 6-8 DCA FIELDD /SET UP NEW FIELD RIF CIA TAD FIELDD NUMB1, SNA CLA /USED, IS INSTRUCTION FIELD SAME AS ASSIGNED ONE TAD (-START CMA DCA HLIM /SET UP HLIM AS EITHER START-1 OR 7777 CMA DCA MASK TEMP4, /TEMPORARY LL, DCA LLIM /OR +1 OR +2 JMP CR0 PT, 0 /POINTER IN BLOCK OPERATIONS CNT, 0 /COUNTER IN BLOCK OPERATIONS A TAD FIELDS /INPUT IN BITS 6-8 DCA FIELDD /SET UP NEW FIELD RIF CIA TAD FIELDD NUMB1, SNA CLA /USED, IS INSTRUCTION FIELD SAME AS ASSIGNED ONE TAD (-START CMA DCA HLIM /SET UP HLIM AS EITHER START-1 OR 7777 CMA DCA MA



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