File: BAT50.LS of Disk: V50/Source/Source-Listing-PAL-1
(Source file text) 


/BAT HANDLER DP FOR KBM V50		  PAL8-V50Y 04-JAN-23 PAGE 1

		/BAT HANDLER DP FOR KBM V50
		/
		/
		/
		/
		/
		/
		/
		/
		/COPYRIGHT  (C)  1980   BY DIGITAL EQUIPMENT
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
		/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DATAPLAN GMBH.
		/DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR
		/IN THIS DOCUMENT.
		/
		/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
		/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
		/(WITH INCLUSION OF DATAPLAN'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
		/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DATAPLAN.
		/
		/DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
		/OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DATAPLAN.
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/
		/WVDM, DP, ZUERICH, 1-JAN-80

/BAT HANDLER DP FOR KBM V50		  PAL8-V50Y 04-JAN-23 PAGE 2


		/NEW BAT HANDLER FOR 0S/8 V50

		/THIS BAT HANDLER SUPPORT THE OLD READ-ONLY
		/FUNCTIONS, I.E. IT READS FROM THE BATCH
		/INPUT FILE UNTIL A DOLLAR IS FOUND AS FIRST
		/CHARACTER IN A LINE. THIS DOLLAR SIGNALS
		/THE END OF INPUT AND RETURN A SOFT ERROR
		/AND A 232 EOF CHAR TO THE CALLER.
		/IT IS NOW ALSO PERMITTED TO WRITE TO BAT
		/THIS WRITE FUNCTION WILL ALWAYS SUCCEED
		/IF UNDER BATCH AND WILL SET THE ERROR STATUS
		/OF THE BATCH MONITOR. THIS ERROR STATUS CAN
		/THEN BE TESTED WITH THE $SKIP CARD.

	0030			VERSION="X&77

	7777		BIPCCL=7777	/BATCH MONITOR DEFINITIONS
	7776		DOLFLG=7776
	5400		BATIN=5400
	5600		BATVFY=5600

	0000		*0000
000000  7777		-1;DEVICE BAT;DEVICE BAT;0220;BATDP-200;0;0
000001  0201
000002  2400
000003  0201
000004  2400
000005  0220
000006  0000
000007  0000
000010  0000

/BAT HANDLER DP FOR KBM V50		  PAL8-V50Y 04-JAN-23 PAGE 3


	0200		*0200
000200  0030	BATDP,	VERSION
000201  7200		CLA 
000202  6214		RDF
000203  1223		TAD	BATCDI
000204  3303		DCA	BATEX
000205  1217		TAD	BATISZ
000206  3302		DCA	ISZRET	/RESET THE NORMAL RETURN 'ISZ'
000207  1600		TAD I	BATDP
000210  0232	BT232,	AND	BT7700
000211  7040		CMA
000212  3310		DCA	BATCNT	/THIS REALLY ONLY HAS A MEANING FOR READ
000213  1600		TAD I	BATDP
000214  0277		AND	BAT070
000215  1322		TAD	BATCDF
000216  3342		DCA	BATDF	/SET BUFFER DF
000217  2200	BATISZ,	ISZ	BATDP
000220  1600		TAD I	BATDP
000221  3311		DCA	BATBUF	/SET BUFFER ADDRESS
000222  2200		ISZ	BATDP	/GO TO BLOCK # (IGNORED)
000223  6203	BATCDI,	CDF CIF 0
000224  1714		TAD I	BATCCL
000225  0277		AND	BAT070
000226  1322		TAD	BATCDF
000227  3234		DCA	BATACC	/MAKE CDF TO BATCH MONITOR
000230  1714		TAD I	BATCCL	/NOW TEST IF BATCH IS ACTIVE
000231  7004		RAL 
000232  7700	BT7700,	SMA CLA 	/*MUST STAY HERE*
000233  5306		JMP	BATERR	/NO, ALWAYS ERROR
000234  7402	BATACC,	HLT		/OK, CHANGE DF TO BATCH
000235  7201		CLA IAC
000236  1234		TAD	BATACC
000237  3321		DCA	BATEXE	/MAKE CIF BATCH FIELD

/BAT HANDLER DP FOR KBM V50		  PAL8-V50Y 04-JAN-23 PAGE 4


000240  1716		TAD I	BATTES	/CHECK IF RICHY WROTE THIS
000241  1377		TAD	(-2214	/WELL, THE FIRST TIME THAT IS
000242  7640		SZA CLA
000243  5306		JMP	BATERR	/NO, WRONG BATCH MONITOR
000244  1310		TAD	BATCNT
000245  7710		SPA CLA		/WAS IT A WRITE FUNCTION?
000246  5277		JMP	BAT070	/NO, GO IN READ LOOP
000247  7330		CLA STL RAR
000250  3715		DCA I	BATSLU	/YES, SET BAT SLEW TO ERROR
000251  5302		JMP	ISZRET	/GO TO NORMAL EXIT

000252  4317	BATLUP,	JMS	BATGET	/READ LOOP
000253  3711		DCA I	BATBUF	/WORD 1
000254  4317		JMS	BATGET
000255  3313		DCA	BATTMP	/WORD 2
000256  4317		JMS	BATGET
000257  7006		RTL 
000260  7006		RTL 
000261  3312		DCA	BATSHF	/WORD 3 * 16
000262  1312		TAD	BATSHF
000263  0267		AND	BT7400
000264  1711		TAD I	BATBUF
000265  3711		DCA I	BATBUF	/WORD 1 + 1/2 WORD 3
000266  2311		ISZ	BATBUF
000267  7400	BT7400,	7400
000270  1312		TAD	BATSHF
000271  7006		RTL 
000272  7006		RTL 
000273  0267		AND	BT7400
000274  1313		TAD	BATTMP
000275  3711		DCA I	BATBUF	/WORD 2 + 1/2 WORD 3
000276  2311		ISZ	BATBUF
000277  0070	BAT070,	0070		/PROTECT WRAP-AROUND
000300  2310		ISZ	BATCNT	/MOR TO GO?
000301  5252		JMP	BATLUP
000302  2200	ISZRET,	ISZ	BATDP	/NO, NORMAL EXIT OR SOFT ERROR IF WIPED
000303  7402	BATEX,	HLT 
000304  2200		ISZ	BATDP	/AND ONE MORE
000305  5600		JMP I	BATDP
000306  7330	BATERR,	CLA STL RAR 	/ERROR, SET AC=4000
000307  5303		JMP	BATEX

000310  0000	BATCNT,	0000		/READ COUNT
000311  0000	BATBUF,	0000		/BUFFER ADDRESS
000312  0000	BATSHF,	0000		/TEMP READ CHAR
000313  0000	BATTMP,	0000
000314  7777	BATCCL,	BIPCCL		/BATCH MONITOR ADDRESSES
000315  7776	BATSLU,	DOLFLG
000316  5600	BATTES,	BATVFY

/BAT HANDLER DP FOR KBM V50		  PAL8-V50Y 04-JAN-23 PAGE 5


000317  0000	BATGET,	0000		/INPUT STREAM READER
000320  0000	BATALT,	0000		/GETS JMP SWITCH ON CR
000321  6202	BATEXE,	CIF 0		/GETS CIF BAT
000322  6201	BATCDF,	CDF 0		/CALLERS FIELD
000323  4771		JMS I	BATHND	/CALL BATCH HANDLER
000324  5363		JMP	BATEOF	/NO MORE INPUT
000325  3312		DCA	BATSHF
000326  1312		TAD	BATSHF
000327  1376		TAD	(-244
000330  7450		SNA 
000331  5354		JMP	GOTDOL	/WAS DOLLAR
000332  1375		TAD	(244-212
000333  7450		SNA 
000334  5321		JMP	BATEXE	/WAS LINEFEED
000335  1374		TAD	(212-215
000336  7650		SNA CLA 
000337  5345		JMP	GOTCR	/WAS CARRIAGE RETURN
000340  3372	CLRSWI,	DCA	BATSWI	/NORMAL CHAR, CLEAR CR SWITCH
000341  1312		TAD	BATSHF	/GIVE BACK THIS CHAR
000342  7402	BATDF,	HLT 		/WITH BUFFER FIELD SET
000343  5717		JMP I	BATGET

000344  5351	BATJMP,	JMP	BATNXT

000345  1344	GOTCR,	TAD	BATJMP
000346  3320		DCA	BATALT	/IF CR, GO TO BATNXT FOR NEXT CHAR
000347  7240	SETSWI,	CLA CMA 	/AND SET CR SWITH FOR DOLLAR RECOGNITION
000350  5340		JMP	CLRSWI

000351  3320	BATNXT,	DCA	BATALT	/ONCE ONLY JUMP TO HERE
000352  1373		TAD	(212	/MAKE LF FOR CR/LF
000353  5342	GETOUT,	JMP	BATDF	/ALSO LITERAL

000354  1372	GOTDOL,	TAD	BATSWI	/WAS LAST CHAR = CR ?
000355  7700		SMA CLA 
000356  5340		JMP	CLRSWI	/NO, NORMAL CHAR AND CLEAR CR SWITCH
000357  1714		TAD I	BATCCL
000360  7112		CLL RTR 
000361  7126		STL RTL 
000362  3714		DCA I	BATCCL	/YES, GIVE SIGNAL TO SHOW $ READ
000363  1210	BATEOF,	TAD	BT232	/REPLACE $ BY EOF
000364  3312		DCA	BATSHF
000365  3302		DCA	ISZRET	/WIPE OUT 'ISZ' FOR SOFT ERROR
000366  1353		TAD	GETOUT
000367  3321		DCA	BATEXE	/GIVE BACK NULLS FOR REST OF BUFFER
000370  5347		JMP	SETSWI	/KEEP CR SWITCH ON FOR NEXT CALL

000371  5400	BATHND,	BATIN
000372  7777	BATSWI,	7777
000373  0212
000374  7775
000375  0032
000376  7534
000377  5564

/BAT HANDLER DP FOR KBM V50		  PAL8-V50Y 04-JAN-23 PAGE 5-1

			$$$$$$$$$$$$$$$$

/BAT HANDLER DP FOR KBM V50		  PAL8-V50Y 04-JAN-23 PAGE 6

BATACC 0234      
BATALT 0320      
BATBUF 0311      
BATCCL 0314      
BATCDF 0322      
BATCDI 0223      
BATCNT 0310      
BATDF  0342      
BATDP  0200      
BATEOF 0363      
BATERR 0306      
BATEX  0303      
BATEXE 0321      
BATGET 0317      
BATHND 0371      
BATIN  5400      
BATISZ 0217      
BATJMP 0344      
BATLUP 0252      
BATNXT 0351      
BATSHF 0312      
BATSLU 0315      
BATSWI 0372      
BATTES 0316      
BATTMP 0313      
BATVFY 5600      
BAT070 0277      
BIPCCL 7777      
BT232  0210      
BT7400 0267      
BT7700 0232      
CLRSWI 0340      
DOLFLG 7776      
GETOUT 0353      
GOTCR  0345      
GOTDOL 0354      
ISZRET 0302      
SETSWI 0347      
VERSIO 0030      



ERRORS DETECTED: 0
LINKS GENERATED: 0