File BINCON

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

*20
SEGMNT 2
*20
CLR
PDP
PMODE
JMP I .+1
20
LMODE
SEGMNT 1
PMODE
*2020
MAJORD,0
SKP CLA
PCHECK
TAD I .-1
SZA CLA
TAD FUDGE
TAD PSTRING
DCA QP1
LINC
LMODE
LIF 1
LDF 1
SET I 17
-10
JMP QAINIT
QP1,0
DUMMY
NOP
NOP
XSK I 17
JMP QARFSH
LIF 0
LDF 0
CLR
PDP
PMODE
JMP I MAJORD
FUDGE,FIRST-LAST
PSTRING,LAST
LMODE
FIRST,TEXT 6F*** CHECKSUM ERROR ***
  
FALL BINARY DATA LOST
    
6
LAST,TEXT 6
F      OPTIONS
    
HD---RETURN TO DIAL
HH---READ IN TAPE ON HIGH SPEED READER
HL---READ IN TAPE ON LOW SPEED READER
   \6
DUMMY,0
0
0
0
*.+DUMMY-FIRST
/Q AND A PROGRAM
/
/PDP-12
/REMOVE *1000 BELOW IF
/INSERTING SOURCE DIRECTLY
/INTO YOUR PROGRAM SOURCE
/
/TO HERE TO INITIALIZE THE ROUTINE
/
QAINIT,	LDA I		/SAVE JMP RETURN
	2
	ADD 0
	STA I
QAB,	0		/JMP 	+3
	ADD QAL+3
	STC 1		/PTR TO FIRST PARAM
	LDA 1		/GET FIRST PARAM
	ADD QAQ+1	/PTR TO HALFWORD-1
	STC QAG-3
	LDA I 1
	STC QARFSH-1
	STC 6		/XR6 USED AS A SWITCH. =0 IF NO ANSWER FIELD, =1777 IF YES
QACA,	SET 3	/XR3 TO PTR TO ANSWERS
	QARFSH-1
	SET 4		/XR4 TO PTR TO QUESTIONS
	QAG-3
			/TO HERE IF FIRST TIME THROUGH OR FOLLOWING A CR
	SET 1
	4
	JMP QAT
	NOP		/F
	LDH I 4		/H. BUMP PTR IF H OR F
QAD,	JMP QAO
	JMP .+6		/74
	JMP QAE		/34
	SAE I		/CR?
	43
	JMP QAD		/NO
	JMP QACA+4 /EXAMINE NEXT CHAR
			/INITIALIZE ANSWER BUFR
	STH 3		/74 TO ANSWERS
	LDH I 4		/NEXT HALFWORD
	ADA I
	-60
	COM
	STC 6
	STH I 3		/0 IN AC
	XSK I 6
	JMP .-2
	LDH I 3		/BUMP PTR TO ANSWERS
	JMP QAD
			/ANSWER BUFR IS INITIATED
QAE,	STH 3
	SET I 4		/XR4 TO PTR TO LAST TYPED CHAR IN ANSWER BUFR
	0
			/----RE-ENTER HERE TO REFRESH----
QARFSH,	LDA I		/INITIAL Y POSITION
277
	STC QAH-1
	SET I 3		/XR3 TO PTR TO HALFWORD QUESTIONS-1
	0
	SET 5		/XR5 TO PTR TO LAST DISPLAYED CHAR IN ANSWER BUFR
	QARFSH-1
QAG,	SET 1
	3
	JMP QAT
	JMP .+7		/F
	LDH I 3		/H. BUMP PTR
	LDA I		/NEITHER. ASSUME HALF SIZE
	BCL I
	STC QAM+2	/SET INSTR TO CLEAR FF FOR HALF SIZE
	ADD QAW		/NOP IN AC
	JMP QAM
	LDH I 3		/BUMP PTR
	LDA I
	BSE I
	STC QAM+2	/SET INSTR TO SET FF FOR FULL SIZE
	ADD QAW+1	/ADD 9U IN AC
QAM,STC QAP+3
MSC I 4
BSE I
200
MSC 4
SET I 1
100
LDA I
-40
ADM I
0
QAH,LDH I 3
JMP QAO+1
JMP QAZ
JMP QAJ
SHD I
4300
JMP QAG
JMP QAP
JMP QAH
JMP QAP
SRO I
	0		/IFXR4=XR5, THEN SWITCH=7777
	JMP QAF
			/QUESTION MODE
QAI,	LDH I 5
	JMP QAO+1
	JMP QAH		/74
	JMP QAH		/34
	JMP QAI-4	/NEITHER. DISPLAY IT
QAJ,	JMP GETKBD	/TO HERE IF DISPLAYED BUFFER
	AZE I
	JMP QAB	/NOTHING TYPED . EXIT
	SET I 2
	QAY
	SHD 2		/LF?
	JMP QAK+4	/YES. EXIT
	SHD I 2		/CR?
	JMP QAN
	XSK 6		/IS THERE AN ANSWER FIELD?
	JMP QARFSH
	SHD I 2		/<?
	JMP QAL
	SHD I 2		/>?
	JMP QAK
	SHD I 2		/ALT?
	JMP QACA /REINITIALIZE
	SHD I 2		/BACK SLASH?
	JMP QARFSH	/IGNORE
	SHD I 2		/RUBOUT?
	JMP QAL		/IGNORE
	SHD I 2		/TAB?
	JMP QARFSH	/IGNORE
	STC .+5		/ACCEPTABLE CHAR
	JMP QAO		/TEST NEXT CHAR
	JMP QAQ		/74 BACK PTR UP BY 1
	JMP QAQ		/34 ^
	LDA I		/OK. STORE IT
	0
	STH 4
	JMP QARFSH	/REDISPLAY
QAL,	LDH 4		/TO HERE IF RUBBOUT OR <
	JMP QAO+1
	JMP QARFSH	/74 IGNORE
	-6002
	LDH 2		/TEST THE CHAR
	SAE I		/RUBOUT?
	37
	JMP QAQ		/NO. BACK PTR UP BY 1
	SET 5
	4
	SET 3
	4
	JMP .+2
	LDH I 5		/BUMP PTR
	LDH IODE
	ISZ BLOCK	/INCREMENT RETURN
	JMP I BLOCK	/OR BACK
COUNTA,	0		/COUNTER NO OF DATA WRDS
COUNTB,	0		/COUNTER 1ST 12 WORDS
TEMPA,	0		/RANDOM USAGE
BKBNS,	0000		/SAVE BKWD BN AS CALLED
BKBNA,	0000		/FORM BKBWD BN THAT
			/WILL BE WRITTEN ON TAPE
B1TAB,	0400		/TABLE USED TO FORM
	1000		/BACKWARD BLOCK NO.
	2000
	4000
	0020
	0040
	0100
	0200
	0001
	0002
	0004
	0010
 
 
K0016,	0016		/CONSTANTS
K7764,	7764
KB1TAB,	B1TAB
KWAIT,	WAIT
KWMKWD,	WMKWD
K5252,	5252
 
 
 
 
*4600
 
/SUBROUTINE TO WAIT FOR COMPLETION
/OF/S\R TO DISP LINC CHAR IN AC
QAP,	ROL 1		/MULT BY 2 FOR INDEX TO ADDRESS OF TABLE
	ADD QAX+4
	STC 2		/ADDRESS OF CHAR TO DISP IN XR2
	ADD QAU		/THIS INSTR CHANGES. EITHER OP OR ADD 9U
	ADD QAU
	ADD 1		/ADD 4 TO XR1 TO SPACE CHAR
	STC 1
	ADD 5		/GET ADDRESS OF ANSWER BUFR
	COM
	ADD 4
	AZE
	CLR
	STC QAI-2	/SWITCH=0 OR 7777
	ADD QAH-1	/Y COORDINATE IN AC
	DSC 2
	DSC I 2		/DISPLAY CHAR
	JMP 0
QAQ,	LDA I		/BACK UP PTR BY 1
	-4000
	ADM
	4
	JMP QARFSH	/REDISPLAY
			/
QAT,	LDH I 1		/S\R
	SHD I		/	+1 F
	0600		/	+2 H
	JMP 0		/	+3 NEITHER
	SAE I
	10
	XSK I 0
	XSK I 0
	JMP 0
			/
QAZ,	LDH I 3
	LDA I
	40
	JMP QAI-4
			/TO HERE IF >
QAK,	LDH I 4
	AZE I		/IS CURRENT CHAR BLANK?
	JMP QAQ		/YES. IGNORE
	JMP QAX		/MOVE DOT FORWARD
			/TO HERE TO EXIT WITH SKIP
	LDA I
	1
	ADM
	QAB
	JMP QAB
			/CHARACTER PATTERNS
QAV,	0101		/KBD 0, ILLEGAL. USED AS MARKER
	0101
	4477		/1:A
	7744
	5177		/2:B
	2651
	4136		/3:C
	2241
	4177		/4:D
	3641
	4577		/5:E
	4145
	4477		/6:F
	4044
	4136		/7:G
	2645
	1077		/10:H
	7710
	7741		/11:I
	0041
	4142		/12:J
	4076
	1077		/13:K
	4324
	0177		/14:L
	0301
	3077		/15:M
	7730	
	3077		/16:N
	7706	
	4177		/17:O
	7741
	4477		/20:P
	3044
	4276		/21:Q
	0376
	4477		/22:R
	3146
	5121		/23:S
	4651
	4040		/24:T
	4077
	0177		/25:U
	7701	
	0176		/26:V
	7402
	0677		/27:W
	7701
	1463		/30:X
	6314
	0770		/31:Y
	7007
	4543		/32:Z
	6151
	4177		/33:/
	0000
			/34:BACKSLASH IGNORED ON INPUT
	0		/NOT USED
	0		/NOT USED
	0000		/35:]
	7741
			/CODES 36:ALT, 37:RUBOUT NOT DISPLAYED
QAY,	4543		/LF,CR
	7476		/<,>
	3634		/ALT, BACKSLASH
	3747		/RUBOUT, TAB
	0000		/40:SPACE
	0000
	7500		/41:X!
	0000
	7000		/42:"
	0070
			/CODES 43:, 44:, 45:LF NOT DISPLAYED
QAX,	JMP QAO+1
	JMP QAQ
	JMP QAQ
	JMP QARFSH
	QAV
	0		/NOT USED
	5166		/46: &
	0526
			/CODE 47:TAB NOT DISPLAYED
	0		/NOT USED
	0		/NOT USED
	3600		/50:(
	0041
	4100		/51:)
	0036
	2050		/52:*
	0050
	0404		/53:+
	0437
	0500		/54:,
	0006
	0404		/55:-
	0404
	0001		/56:.
	0000
	0601		/57:\
	4030
	4536	/60:0
	3651
	2101		/61:1
	0177
	4523		/62:2
	2151
	4122		/63:3
	2651
	2414		/64:4
	0477
	5172		/65:5
	0651
	1506		/66:6
	4225
	4443		/67:7
	6050
	5126	/70:8
	2651
	5122		/71:9
	3651
	2200		/72::
	0000
	4601		/73:;
	0000
			/CODE 74:<NOT DISPLAYED
QAU,	2		/CONSTANT
	0	/NOT USED
	1212		/75:=
	1212
			/CODE 76:> NOT DISPLAYED
QAW,	NOP
	ADD QAU
	4020		/77:?
	2055
/
QAF,	DSC I
	6000
	JMP QAI
/
			/END Q+A
/
/
GETKBD,CLR
JMP 0
/
/
SEGMNT 0
/
/
PMODE
*600  /BINARY LOADER ADDRESS
SWITCH,0
MEMTEM,0
CHAR,0
CHKSUM,0
ORIGIN,0
BEGG,0
DCA SWITCH
 JMS READ
 TAD M376
 SPA SNA CLA
 JMP .+4
 ISZ SWITCH
 CMA
 JMP BEGG+1
TAD SWITCH
 SZA CLA
JMP BEGG+2
TAD CHAR
 AND MASK
 TAD M200
 SPA
ISZ BEGG
SPA SNA CLA
 JMP I BEGG
 TAD CHAR
 AND FMASK
 TAD CHANGE
 DCA MEMTEM
JMP BEGG+2
FMASK,70
CHANGE,CDF
READ,0
0
LOR,KSF
JMS DILLYDALLY
KRB
DCA CHAR
TAD CHAR
JMP I READ
HIR,6011
JMS DILLYDALLY
6016
JMP LOR+3
MASK,300
BEND,JMS ASSEMB
CIA
TAD CHKSUM
JMP I .+1
DONE
M376,HLT
BEGIN,KCC
6014
6214
TAD CHANGE
DCA MEMTEM
TAD I GETRED
SMA CLA
TAD HIRI
TAD LORI
DCA READ+1
JMS BEGG
JMP .-1
GO,DCA CHKSUM
TAD MEMTEM
SKP
DOMEMF
JMS I .-1
TAD CHAR
DCA WORD1
JMS READ
DCA WORD2
JMS BEGG
JMP BEND
JMS ASSEMB
SNL
JMP MEMFLD
DCA ORIGIN
CHEX,TAD WORD1
TAD WORD2
TAD CHKSUM
JMP GO
MEMFLD,NOP
JMS I .+2
SKP
PUTW
ISZ ORIGIN
M200,7600
JMP CHEX
ASSEMB,0
TAD WORD1
CLL RTL
RTL
RTL
TAD WORD2
JMP I ASSEMB
LORI,JMP LOR
HIRI,HIR-LOR
0
WORD1,0
WORD2,0
GETRED,HORLOW
DILLYDALLY,0
CLA CMA CLL RAL/-2
TAD DILLYDALLY
DCA DILLYDALLY
TAD I 14
CMA RTR
TAD I 14
DCA 17
TAD I 17
TAD I 14
CML IAC RTL
TAD I 14
DCA 17
TAD I 17
TAD I 14
LINC
LMODE
DIS I 17
PDP
PMODE
TAD I 17
CMA RTL
TAD I 14
LINC
LMODE
DIS I 14
PDP
PMODE
CLA CLL
JMP I DILLYDALLY
/
/
/
/
/
/
/
*20
0002 / COMMON START FOR EITHER
CLA CLL   / 8 OR LINC MODE
JMP I .+1   /MAJOR START
START     / MAIN STARTING ADDRESS
JMP 177 /MAJOR START
MESS,0
CLA CLL
TAD I MESS
ISZ MESS
SNA
JMP I MESS
6046
6041
JMP .-1
JMP MESS+1
INBUF,0
CLA CLL
TAD I INBUF
ISZ INBUF
SNA
JMP I INBUF
JMS BUF
JMP INBUF+1
BUF,0
LINC
LMODE
WHERE,0
BUF1,STH I 15
XSK I 12
JMP OUTBUF
SET I 12
-1000
SET I 15
BUFF1-1+4000
LDA I
JMP BUF2
STC WHERE
ADD 10
BCL I
7000
BSE I
2000
STD
JMP .-1
STC .+2
WRC
0
XSK I 10
XSK I 10
JMP OUTBUF
BUF2,STH I 16
XSK I 13
JMP OUTBUF
SET I 13
-1000
SET I 16
BUFF2-1+4000
LDA I
JMP BUF1
STC WHERE
ADD 11
BCL I
7000
BSE I
3000
STD
JMP .-1
STC .+2
WRC
0
XSK I 11
XSK I 11
JMP OUTBUF
/
OUTBUF,PDP
PMODE
CLA CLL
JMP I BUF
LINBUF,0
JMS INBUF
252
262
260
43
320
315
317
304
305
43
306
311
305
314
304
240
260
43
0
JMP I LINBUF
A1,701
A2,7300
B1,4016
B2,4017
*200
PUTW,0
DCA HUMPH
TAD ORG
CMA
TAD I PORIGIN
SZA CLA
JMP NOTOK
BACK1,TAD HUMPH
JMS PUTO
TAD I PORIGIN
DCA ORG
JMP I PUTW
NOTOK,JMS INBUF
252
0
TAD I PORIGIN
JMS PUTO
JMP BACK1
HUMPH,0
PORIGIN,ORIGIN
ORG,0
PUTO,0
SNA
JMP PZERO
DCA 1
DCA TEST
TAD 1
RTL
RTL
JMS PUTWO
TAD 1
RTR
RTR
RTR
JMS PUTWO
TAD 1
RTR
RAR
JMS PUTWO
TAD 1
JMS PUTWO
JMS INBUF
43
0
JMP I PUTO
PZERO,JMS INBUF
60
43
0
JMP I PUTO
PUTWO,0
AND L7
SNA
JMP PUTT
PUTENT,TAD L260
DCA OUTP
ISZ TEST
JMS INBUF
OUTP,0
0
JMP I PUTWO
L7,7
L260,260
TEST,0
PUTT,TAD TEST
SNA CLA
JMP I PUTWO
JMP PUTENT
DOMEMF,0
LINC
LMODE
BCL I
7707
ROR 3
STA
FIELD3
PDP
PMODE
CIA
TAD FIELD2
SNA CLA
JMP I DOMEMF
JMS INBUF
306
311
305
314
304
240
0
TAD FIELD3
DCA FIELD2
TAD FIELD2
JMS PUTO
JMP I DOMEMF
FIELD2,-1
FIELD3,-1
*400
START,0
LINC
LMODE
LIF 0
LDF 0
RDC
6300
RDC
7301
LDA I
3002
STA
1002
LDA I
7776
STA
1524
STA
1522
LDA I
6450
STA
1527
WRC
6300
WRC I
7301
LDA I
10
AXO
RDC     /MAIN UNIT=0
3360
SET I 10
360
SET I 11
361
SET I 12
-1000
SET I 13
-1000
SET I 15
BUFF1-1+4000
SET I 16
BUFF2-1+4000
LDA I
JMP BUF1
STC WHERE
LDA I
-1
STA
FIELD
STC ORG
PDP
PMODE
JMS LINBUF
JMP MORE
DONE,DCA PCHECK
TAD PCHECK
SNA CLA
JMP MORE
JMS MESS
207
207
207
0
JMP START+1
MORE=.
MLOOP,6031
SKP
JMP .+3
JMS I DUPPY
JMP .-4
6036
TAD M304
SNA
JMP END
TAD M4
SNA
JMP RHIGH
TAD M4
SNA
JMP RLOW
TAD M11
SNA
JMP I PBEGIN
JMP MLOOP
PBEGIN,BEGIN
M304,-304
M4,-4
M11,-11
M1001,-1001
PCHECK,0
DUPPY,MAJORD
RLOW,CLA CMA
RHIGH,DCA HORLOW
JMP I PBEGIN
HORLOW,-1
END,CLA CLL
TAD M1001
DCA 3
JMS INBUF
44
43
43
44
43
0
JMS INBUF
44
0
ISZ 3
JMP .-4
TAD A1
DCA I B1
TAD A2
DCA I B2
LINC
LMODE
STD
JMP .-1
CLR
AXO
LDF 3
LIF 2
JMP 16/RESTART DIAL
AAALOC=.-1
BUFF1=1000
BUFF2=BUFF1+400



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