File DAN5

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

*20
/TITLE: DAN 5.  THIS PROGRAM ACCEPTS
/TTY OCTAL INPUT OF ANY CORE LOCATION
/AND UPON RECEIVING EITHER FOUR
/OCTAL DIGITS OR A SLASH, PRINTS OUT
/IN OCTAL THE CONTENTS OF THAT
/ADDRESS. THIS COMPLETES ASSIGNMENT
/NUMBER FIVE.
	PDP		/BEGIN IN LINK
	PMODE		/MODE FOR *20
	JMP I P200	/START,THEN 8
P200,	0200		/GO 200.
	PMODE
	*200
START,	CLA CLL
	TAD H		/H=BEGINNING
	DCA G		/ADDRESS OF THE
	DCA A		/FIRST POSITION
	DCA B		/OF "NON OCTAL
	TAD N4A		/INPUT COMMENT".
	DCA N4B		/A&B ARE TEMP
	TLS		/STORAGE REGS,
	JMS CRLF	/N4A&B ARE INDEX
IN,	JMS LISN	/NUMBERS AND=-4.
	TAD NSL		/TTY IN, SLASH?
	SNA		/YES=GO OUTPUT
	JMP OUT		/CONTENTS OF B.
	TAD SL		/NO=STORE ASCII
	DCA A		/AND CHECK FOR
	TAD A		/NON OCTAL CHAR
	AND M70		/LOOK AT BITS6-8
	TAD N60		/6?(110)
	SZA		/NO=PRINT OUT 
	JMP DMY		/DUMMY COMMENT.
	TAD A		/YES=LOOK AT A
	AND M7		/AND CONVERT TO
        CLL             /OCTAL,STORE A
	DCA A
	TAD B		/ROTATE B LEFT
	RAL		/THREE AND ADD
	RTL		/A.
	TAD A
	DCA B		/STORE IN B.
	ISZ N4B		/4 NUMBERS IN?
	JMP IN		/YES=JUMP OUT.
	JMP SLA		/NO=GET MORE IN.
OUT,	TAD N4A
	DCA N4B		/RESET INDEX
	TAD I B		/GET CONTENTS OF
        CLL		/B REGISTER.
	RAL		/ROTATE ONCE.
	DCA A
MORE,	TAD A
	RAL		/ROTATE THRICE
	RTL
	DCA A
	TAD A
	AND M7		/MASK OFF BITS
	TAD P260	/0-8.ADD 260.
	JMS TYPE	/TYPE NUMBER.
	ISZ N4B		/TYPED FOUR?
	JMP MORE	/NO=GET MORE.
	JMP START	/YES=GO BACK TO
NSL,	7521		/THE BEGINNING.
SL,	0257		/SL=ASCII SLASH.
N4A,	7774		/NSL=8S COMP
N4B,	7774		/N4A&B=-4
M7,	0007		/MASK 0-8 BITS
P260,	0260		/CONVERT TO ASCI
A,      0000
B,      0000
M70,	0070		/LEAV 6-8 BITS
N60,	7720
        LISN,	0
	KSF		/SUBROUTINE TO
	JMP .-1		/ACCEPT TTY IN
	KRB		/PUT.
	TLS
	JMP I LISN
TYPE,	0
	TSF		/SUBROUTINE TO
	JMP .-1		/TYPE OUTPUT.
	TLS
	CLA 		/DONT CLEAR LINK
	JMP I TYPE	/!!!!!!!!!!!!!!
CRLF,	0
	TAD K215	/SUBROUTINE TO
	JMS TYPE	/CR AND LF TTY.
	TAD K212	/CR FIRST!!!
	JMS TYPE
	JMP I CRLF
K215,	0215		/ASCII FOR CR
K212,	0212		/ASCII FOR LF
DMY,	CLA		/
	TAD F		/SUBROUTINE TO
	DCA 10		/TYPE ASCII FIEL
DO,	TAD I 10	/UPON INPUT ON
	JMS TYPE	/INPUT OF NON-
	ISZ G		/OCTAL NUMBER.
	JMP DO
	JMP START	/BEGIN ANEW.
SLA,	TAD SL
	JMS TYPE	/ROUTINE TO TYPE
	JMP OUT		/A SLASH AFTER
G,	7724		/INPUT OF FOUR
F,	0335		/OCTAL DIGITS.
H,	7724		/G=-LENGTH OF
	0240		/FIELD.F=ADDRESS
	0240		/OF START OF FIE
	0310		/LD. H=FIELD IND
        0305		/EX.
	0331
	0240
	0304
	0325
	0315		/HEY DUMMY!
	0315		/THATS NOT AN
	0331		/OCTAL NUMBER!!
	0241
	0240
	0324
	0310
	0301
	0324
	0247
	0323
	0240
	0316
	0317
	0324
	0240
	0301
	0316
	0240
	0317
	0303
	0324
	0301
	0314
	0240
	0316
	0325
	0315
	0302
	0305
	0322
	0241
	0215
	0212
	0000
	0000
	0000
	0000
	0000
	0000
	0000
	0300
	0300
	0300
	0300
	0300		/END!



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