perm filename IOSER.DIF[S,AIL] blob sn#090715 filedate 1974-03-12 generic text, type T, neo UTF8

	1) IOSER vs. 2) IOSER[CMU,AIL]	SRCCOM	03-12-74	16:03	PAGES 1,1

******** IOSER **** PAGE 22
1)	     		CAIGE	TEMP,10		;MAKE SURE AT LEAST BINARY MODE
1)	     	CMU <
1)	     		CAIN	TEMP,4		;CMU HAS A WIERD MODE
1)	     		SKIPA
1)	     	>;CMU
1)	     		 ERR	 <ARRYOUT: mode must be '14,'10, or '17, not >,6
*** IOSER[CMU,AIL] *** PAGE 22
2)	01725	CMU <
2)	01730	;;=B4= 1 OF 13 -- FOR CMU SPECIAL MODES.
2)	01740		MOVEI	Z,1		;ASSUME NOT IMP MODE
2)	01755		CAIN	TEMP,3		;IS THE MODE 3?
2)	01770		 TRZA	Z,-1		; YES - CMU 32-BIT IMP MODE.
2)	01777					; WE WILL USE Z BOTH AS SIGNAL AND AS
2)	01780					; A GUARANTEED 0 THAT CAN BE USED FOR A DPB
2)	01790		CAIN	TEMP,4		; (THIS ONE IS CMU-IMAGE MODE)
2)	01792		 JRST	OUTRAY		; THEN OKAY, NOT DUMP MODE EITHER.
2)	01793	;;=B4=
2)	01795	>;CMU
2)	01800		CAIGE	TEMP,10		;MAKE SURE AT LEAST BINARY MODE
2)	02300		 ERR	 <ARRYOUT: mode must be '14,'10, or '17, not >,6


******** IOSER **** PAGE 22
1)	     		IBP	OBP(CDB)	;MAKE SURE PTRS TO FIRST WORD
1)	     		MOVE	C,OBP(CDB)	;"TO" ADDR
*** IOSER[CMU,AIL] *** PAGE 22
2)	03625	CMU <
2)	03630	;;=B4= 2 OF 13
2)	03643		CAIN	Z,0		;IMP MODE?
2)	03661		LSH	E,-2		;DIVIDE BY 4 TO GET WORD COUNT
2)	03666	;;=B4=
2)	03679	>;CMU
2)	03700		IBP	OBP(CDB)	;MAKE SURE PTRS TO FIRST WORD
2)	03720	CMU <
2)	03725	;;=B4= 3 OF 13
2)	03740		CAIN	Z,0		;IMP MODE?
2)	03760		DPB	Z,[POINT 6,OBP(CDB),5]
2)	03765	;;=B4=
2)	03780	>;CMU
2)	03800		MOVE	C,OBP(CDB)	;"TO" ADDR


******** IOSER **** PAGE 22
1)	     		MOVEM	E,OCOWNT(CDB)	;
*** IOSER[CMU,AIL] *** PAGE 22
2)	05920	CMU <
2)	05925	;;=B4= 4 OF 13

	1) IOSER vs. 2) IOSER[CMU,AIL]	SRCCOM	03-12-74	16:03	PAGES 22,22

2)	05940		CAIN	Z,0		;IMP MODE?
2)	05960		 LSH	E,2		;MULTIPLY BY 4 FOR BYTE COUNT
2)	05965	;;=B4=
2)	05980	>;CMU
2)	06000		MOVEM	E,OCOWNT(CDB)	;


******** IOSER **** PAGE 23
1)	     		CAIGE	TEMP,10
1)	     	CMU <
1)	     		CAIN	TEMP,4		;CMU HAS A WIERD MODE
1)	     		SKIPA
1)	     	>;CMU
1)	     		 ERR	 <ARRYIN: mode must be '10 or '14 or '17, not >,6
*** IOSER[CMU,AIL] *** PAGE 23
2)	01425	CMU <
2)	01427	;;=B4= 5 OF 13
2)	01430		MOVEI	Z,1		;ASSUME NOT IMP MODE
2)	01435		CAIN	TEMP,3		;IS THE MODE 3?
2)	01440		 TRZA	Z,-1		; YES - CMU 32-BIT IMP MODE.
2)	01455		CAIN	TEMP,4		;IF ONE OF THE SPECIAL CMU MODES,
2)	01457		 JRST	INARY		; THEN OKAY, NOT DUMP MODE EITHER
2)	01470	;;=B4=
2)	01490	>;CMU
2)	01500		CAIGE	TEMP,10
2)	02000		 ERR	 <ARRYIN: mode must be '10 or '14 or '17, not >,6


******** IOSER **** PAGE 23
1)	     		IBP	IBP(CDB)	;MAKE SURE PTS TO NEXT
*** IOSER[CMU,AIL] *** PAGE 23
2)	03125	CMU <
2)	03130	;;=B4= 6 OF 13
2)	03150		CAIN	Z,0		;IMP MODE?
2)	03175		 LSH	E,-2		;DIVIDE BY 4 TO GET WORD COUNT
2)	03180	;;=B4=
2)	03187	>;CMU
2)	03200		IBP	IBP(CDB)	;MAKE SURE PTS TO NEXT


******** IOSER **** PAGE 23
1)	     		SUBI	B,1		;PREPARE TO CORRECT BP
*** IOSER[CMU,AIL] *** PAGE 23
2)	04825	CMU <
2)	04830	;;=B4= 7 OF 13
2)	04850		CAIE	Z,0		;IMP MODE?
2)	04862		 JRST	.+3
2)	04875		LSH	E,2		;MULTIPLY BY 4 FOR BYTE COUNT

	1) IOSER vs. 2) IOSER[CMU,AIL]	SRCCOM	03-12-74	16:03	PAGES 23,23

2)	04881		DPB	Z,[POINT 6,IBP(CDB),5]
2)	04886	;;=B4=
2)	04887	>;CMU
2)	04900		SUBI	B,1		;PREPARE TO CORRECT BP


******** IOSER **** PAGE 23
1)	     		CAIL	TEMP,10		;MUST BE BINARY MODE
1)	     		CAILE	TEMP,14		;AND NOT DUMP MODE
1)	     		ERR	<INOUT (OUTPUT SIDE): ILLEGAL DATA MODE>
1)	     		PUSH	P,CDB		;SAVE - 
*** IOSER[CMU,AIL] *** PAGE 23
2)	12616	CMU <
2)	12621	;;=B4= 8 OF 13
2)	12632		MOVEI	Z,1
2)	12648		CAIN	TEMP,3		;IS THE MODE 3
2)	12664		 TRZA	Z,-1		; YES!!!
2)	12666		CAIN	TEMP,4		;OR CMU IMAGE MODE?
2)	12667		 JRST	.+4		;UGLY, BE CAREFUL OF CODE CHANGES!
2)	12669	;;=B4=
2)	12680	>;CMU
2)	12700		CAIL	TEMP,10		;MUST BE BINARY MODE
2)	12800		CAILE	TEMP,14		;AND NOT DUMP MODE
2)	12900		ERR	<INOUT (OUTPUT SIDE): ILLEGAL DATA MODE:>,6
2)	13000		PUSH	P,CDB		;SAVE - 


******** IOSER **** PAGE 23
1)	     		SETZM	@ENDFL(CDB)	;CEAR ERROR INDICATOR
1)	     		LDB	TEMP,[POINT 4,DMODE(CDB),35]
1)	     		CAIL	TEMP,10
1)	     		CAILE	TEMP,14
1)	     		ERR	<INOUT (INPUT SIDE): ILLEGAL DATA MODE>
1)	     		SKIPGE	B,-3(P)		;# OF WORDS
*** IOSER[CMU,AIL] *** PAGE 23
2)	13500		SETZM	@ENDFL(CDB)	;CLEAR ERROR INDICATOR
2)	13600		LDB	TEMP,[POINT 4,DMODE(CDB),35]
2)	13616	CMU <
2)	13621	;;=B4= 9 OF 13
2)	13632		MOVEI	Y,1
2)	13648		CAIN	TEMP,3		;IS THE MODE 3
2)	13664		 TRZA	Y,-1		;YES!!!
2)	13666		CAIN	TEMP,4		;OR CMU IMAGE MODE
2)	13668		 JRST	.+4		;CAREFUL OF RELATIVE JUMPS!
2)	13669	;;=B4=
2)	13680	>;CMU
2)	13700		CAIL	TEMP,10
2)	13800		CAILE	TEMP,14

	1) IOSER vs. 2) IOSER[CMU,AIL]	SRCCOM	03-12-74	16:03	PAGES 23,23

2)	13900		ERR	<INOUT (INPUT SIDE): ILLEGAL DATA MODE:>,6
2)	14000		SKIPGE	B,-3(P)		;# OF WORDS


******** IOSER **** PAGE 23
1)	     		IBP	IBP(CDB)	;MAKE SURE POINT TRIGHT
*** IOSER[CMU,AIL] *** PAGE 23
2)	14420	CMU <
2)	14425	;;=B4= 10 OF 13
2)	14440		CAIN	Y,0		;IMP MODE?
2)	14460		 LSH	E,-2		;DIVIDE BY 4 TO GET WORD COUNT
2)	14465	;;=B4=
2)	14480	>;CMU
2)	14500		IBP	IBP(CDB)	;MAKE SURE POINT TRIGHT


******** IOSER **** PAGE 23
1)	     		CAML	E,OCOWNT(CDB)	;=MIN(B,ICOWNT,OCOWNT)
1)	     		MOVE	E,OCOWNT(CDB)
1)	     		MOVEI	D,(C)		;MAKE BLT TERMINATOR
*** IOSER[CMU,AIL] *** PAGE 23
2)	15650	NOCMU <
2)	15655	;;=B4= 11 OF 13
2)	15700		CAML	E,OCOWNT(CDB)	;=MIN(B,ICOWNT,OCOWNT)
2)	15800		MOVE	E,OCOWNT(CDB)
2)	15805	>;NOCMU
2)	15850	CMU <
2)	15855		CAMGE	E,OCOWNT(CDB)	;=MIN(B,ICOWNT,OCOWNT)
2)	15860		JRST	.+4
2)	15865		MOVE	E,OCOWNT(CDB)
2)	15875		CAIN	Z,0		;IMP MODE?
2)	15887		LSH	E,-2		;DIVIDE BYTE COUNT BY 4
2)	15890	;;=B4=
2)	15893	>;CMU
2)	15900		MOVEI	D,(C)		;MAKE BLT TERMINATOR


******** IOSER **** PAGE 23
1)	     		SUBM	E,OCOWNT(CDB)	;UPDATE WORD COUNT
*** IOSER[CMU,AIL] *** PAGE 23
2)	16414	CMU <
2)	16419	;;=B4= 12 OF 13
2)	16428		CAIE	Z,0		;IMP MODE?
2)	16442		 JRST	.+3
2)	16456		LSH	E,2		;MULTIPLY BY 4 FOR BYTE COUNT
2)	16470		DPB	Z,[POINT 6,OBP(CDB),5]
2)	16475	;;=B4=
2)	16484	>;CMU

	1) IOSER vs. 2) IOSER[CMU,AIL]	SRCCOM	03-12-74	16:03	PAGES 23,23

2)	16500		SUBM	E,OCOWNT(CDB)	;UPDATE WORD COUNT


******** IOSER **** PAGE 23
1)	     		SUBM	E,ICOWNT(CDB)	;UPDATE WORD COUNT
*** IOSER[CMU,AIL] *** PAGE 23
2)	16914	CMU <
2)	16919	;;=B4= 13 OF 13
2)	16928		CAIE	Y,0		;IMP MODE?
2)	16942		 JRST	.+3
2)	16956		LSH	E,2		;MULTIPLY BY 4 FOR BYTE COUNT
2)	16970		DPB	Y,[POINT 6,IBP(CDB),5]
2)	16975	;;=B4=
2)	16984	>;CMU
2)	17000		SUBM	E,ICOWNT(CDB)	;UPDATE WORD COUNT


******** IOSER **** PAGE 25
1)	     	;;%BG% 
1)	     	LCASE:	MOVSS	B
*** IOSER[CMU,AIL] *** PAGE 25
2)	07525	;;%BG% =A1=
2)	07700	LCASE:	MOVSS	B