File DISPHALF

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

E	/IN PROG:WAIT
/NOT YET OUTPUT: WRITE CURRENT MBLK
	STD		/WAIT FOR TAPE
	JMP .-1
	CLR
	JMP WRITE	/WRITE IT
WDONE,	STD
	JMP .-1		/WAIT FINAL BLOC
/FINALLY TYPE OUT NO QUESTIONS/NO.CORREC
	SET I 1
	LABEL3-4000
/LAST MESSAGE INCLUDED "COMPREHENSION"
	CLR
	ADD 10
	PROG1
	JMP DECPUT	/NO.CORRECT
	PROG1
	JMP MESSAG	/" OF"
	ADD 11
	PROG1
	JMP DECPUT	/NO.QUESTIONS
ENDJOB,	JMP MONIT	/DONE!!
/
/FOLLOWING SUBROUTINES AND OUTPUT LABELS
/FIT INTO PROG1 (LIF 1) BELOW THE 2-BLOK
/DATA OUTPUT BUFFER
/
	SEGMNT 1
	*20
/SUBR TYPES AC AS SIGNED DECIMAL INTEGER
/IN FORMAT "="XXX ". ENTRY HERE BUT
/JUMPS TO SEGMENT 1 BELOW TEXT BUFFER.
/
DECPUT,	STC 4		/SAVE ARG
	ADD
	STC DECRET	/RET AD
	LDA I
	275
	JMP TYPE	/"="
	ADD 4
	APO I
	JMP .+6		/>0:NO "-"
	COM
	STC 4		/ABS(ARG)
	ADD C255
	JMP TYPE	/"-"
	ADD 4
	SET I 2
	260		/COUNT DIGIT
	ADA I
	-144		/HUNDREDS
	APO
	JMP .+3
	XSK I 2		/INCR. DIGIT
	JMP .-5
	AZE I		/-0?
	JMP .-3		/KEEP GOING
	ADA I
	144		/RSETORE REM.
	STC 4
	ADD 2
	JMP TYPE	/HUNDREDS
	SET I 2
C260,	260
	ADD 4
	ADD MD10
	APO
	JMP .+3
	XSK I 2
	JMP .-4
	AZE I
	JMP .-3
	ADD D10
	STC 4
	ADD 2
	JMP TYPE	/TENS
	ADD C260
	ADD 4
	JMP TYPE	/UNITS
	LDA I
	240
	JMP TYPE	/FINAL SPACE
	PROG0		/RETURN IN PROG0
DECRET,	HLT		/R.J.
/
/SUBR ACCEPTS SIGNED 3-DIGIT DECIMAL
/INTEGER FROM TTY. LEADING ZEROES NEEDNT
/BE ENTERED; AND A CR IS THE
/TERMINATOR. THE OBTAINED VALUE IS 
/RETURNED VIA AC. 
/AN INITIAL CR LEAVES AC=0&3=-4 (LIF 1)
/ILLEGAL CHARS/SIGN GENRATE JMP "ENTERR"
/
GETDEC,	LDA
	0
	STC GETRET	/R.J.
	STC 4		/BUILDS VALUE
	SET I 2
	-2		/INDEXES SIGN
	SET I 3
	-4		/INDEXES DIGITS
NEXDIG,	IOB
	6031		/KSF
	JMP .-2
	IOB
	6036		/KRB
	SAE I
C215,	215		/CR?
	JMP GETRET+1
	LDA
	4		/NO:CHECK FOR
	XSK I 2		/SKIP ON SIGN
	SKP
	COM		/NEGATE 
	PROG0		/RETURN PROG0
GETRET,	HLT		/R.J.
NOTYET,	STC 5		/SAVE CHAR
	ADD 5
	JMP TYPE	/ECHO
	ADD 5
	SAE I
C255,	255		/="-"?
	JMP .+4		/NO
	XSK I 2		/SECOND SIGN?
	JMP NEXDIG	/YES:SIGN SET
	JMP ENTERR	/YES:ERROR
	XSK I 3		/TOO MANY DIGITS
	SKP		/NO
	JMP ENTERR	/YES:ERROR
	ADA I		/IS CHAR DIGIT?
	-257
	APO
	JMP ENTERR	/NON-DIGIT
	ADA I
MD10,	-12		/DIGIT?
	APO I
	JMP ENTERR	/NON-DIGIT
	ADD C11		/RESTORE DIGIT
	AZE I
C11,	CLR		/-0 TO +0
	STC 5
	ADD 4
	MUL I
D10,	12		/DEC. SHIFT LEFT
	ADD 5
	STC 4
	JMP NEXDIG
/CONTROL ARRIVES HERE WHEN TYPED ENTRY
/FOR PARAMETER IS ILLEGAL: >1"-",>3 DIGS
/OR ILLEGAL CHAR. TYPES "?" : TRY AGAIN!
/
ENTERR,	LDA I
	277
	JMP TYPE	/"?"
	PROG0		/TRY AGAIN AT
	JMP TYVAL	/TYVAL IN PROG0
/
/SUBR TYPES OUT MESSAGE FROM PACKED
/ASCII CODE - 43 GENERATES CR&LF, AND 00
/TERMINATES OUTPUT. ADDRESS OF SOURCE
/POINTED (+1/2) BY 1 FROM PROG0;HENCE
/MUST BE READ AND RETURNED THERE.
/
MESSAG,	LDA
	0
	STC MESRET	/R.J.
	PDP
	PMODE
	TAD 1		/PASS PROG0(1)
	LINC		/W/O DIFF LDF
	LMODE
	STC 1
NXCHAR,	LDH I 1
	AZE I
	JMP C100+1	/SETUP RETURN
	SAE I
	43		/CR?
	JMP .+3
	JMP CRLF	/DO CR,LF
	JMP NXCHAR
	ADA I
	-37		/ADD 100 OR 200
	APO		/FOR 8-BIT CODE
	ADD C100
	ADA I
	237
	JMP TYPE	/TYPE 8-BIT CODE
	JMP NXCHAR
C100,	100
	ADD 1		/PASS PTR BACK
	PDP		/TO 1 IN PROG0
	PMODE
	DCA 1
	LINC
	LMODE
	PROG0		/RETURN IN PROG0
MESRET,	HLT		/R.J.
/
/SUBR GENERATES CR&LF:CALLED ONLY FROM
/PROG1, WHERE IT RESIDES
/
CRLF,	LDA
	0
	STC CARRET	/R.J.
	ADD C215
	JMP TYPE	/CR
	LDA I
	212
	JMP TYPE	/LF
CARRET,	HLT		/RETURN
/
/SUBR TYPES OUT 8-BIT ASCII AC
/CALLED FROM & RESIDES IN PROG1
/
TYPE,	PDP
	PMODE
	TLS
	TSF
	JMP .-1
	CLA
	LINC
	LMODE
	JMP		/RETURN
/
/TEXT (PACKED ASCII) PARAMETER LABELS
/
ERLABL,	4343
	TEXT *ERROR*
LABEL1,	4343
	TEXT *SUB-SES ID*
	0043
	TEXT *TEXT TAPE *
	0043
	TEXT *TEXT BLOCK*
	0043
	TEXT *DATA BLOCK*
	0043
	TEXT *TOP LINE  *
	0043
	TEXT *NO. LINES *
	0043
	TEXT *SPACING   *
	0043
	TEXT *WINDOW    *
	0043
	TEXT *POSITION  *
	0043
	TEXT *QUES-BLOCK*
LABEL2,	4343
	TEXT *TIME*
	0040
	TEXT *SECS. FOR*
	TEXT *LINE*
	2343		/*S*,CR
	TEXT *COMPREHENSION*
LABEL3,	TEXT *OF *
XLABEL,	4343
	TEXT *X-VOLTS: *
YLABEL,	4343
	TEXT *Y-VOLTS: *
/
/END OF PROG1 SECTION. 3000-4000 THIS
/SEGMENT USED FOR DATA OUTPUT BUFFERING.
/
/SEGMENT 2: 1ST 3 BLOCKS TEXT BUFFERING
/(4000-5377). THEN PATTERN WORDS (5400-
/5577). THEN LINE ADRESS AND LINE-CONTRL
/WORDS FOR DISPLAY (5600 UP)
/
	SEGMNT 2
	*1400
/PATTERN WORDS FOR CHAR DISPLAY FOLLOWS
PATRN,	4477		/A
	7744
	5177		/B
	2651
	4136		/C
	2241
	4177		/D
	3641
	4577		/E
	4145
	4477		/F
	4044
	4136		/G
	2645
	1077		/H
	7710
	7741		/I
	0041
	4142		/J
	4076
	1077		/K
	4324
	177		/L
	301
	3077		/M
	7730
	3077		/N
	7706
	4177		/O
	7741
	4477		/P
	3044
	4276		/Q
	376
	4477		/R
	3146
	5121		/S
	4651
	4040		/T
	4077
	177		/U
	7701
	176		/V
	7402
	677		/W
	7701
	1463		/X
	6314
	770		/Y
	7007
	4543		/Z
	6151
	4177		/[
	0000
	2040		/\
	0410
	0		/]
	7741
	2000		/^
	2077
	3410		/BACK ARROW
	1010
	0		/BLANK
	0
	7500		/!
	0
	6006		/"
	60
	3614		/NUMBER SIGN
	1436
	7721		/DOLLAR SIGN
	4677
	1446		/%
	6130
	5166		/&
	0523
	500		/APOSTROPHY
	
	6
	4163		/(
	0
	0		/)
	6341
	2050		/*
	50
	404		/+
	437
	605		/,
	0
	404		/-
	404
	1		/.
	0
	601		//
	4030
	4136		/0
	3641
	2101		/1
	177
	4523		/2
	2151
	4122		/3
	2651
	2414		/4
	477
	5172		/5
	651
	1506		/6
	4225
	4443		/7
	6050
	5126		/8
	2651
	5120		/9
	3651
	4200		/:
	0
	2601		/;
	0
	2410		/<
	0042
	1212		/=
	1212
	4200		/>
	1024
	4020		/?
	2055
/
/LINE ADDRESS POINTERS (1/2 WORD).UP TO
/16 OF THEM + 1 EXTRA FOR WRAP-UP
/
LINADS,	0
	*.+20
/LINE CONTROL WORDS: 16 MAX.
LINCON,	0



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