Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-04 - decus/20-0125/io.lst
There is 1 other file named io.lst in the archive. Click here to see a list.
IO - GT40 BYTE I/O ROUTINES	MACRO %53A(1152) 11:37  1-Feb-81 Page 1
IO	MAC	19-Feb-65 07:58	

						TITLE	IO - GT40 BYTE I/O ROUTINES
						ENTRY	GETCHR,SNDCHR,SETTTY,CLRTTY
						;
						; THESE ROUTINES ARE FORTRAN-10 AND F40 COMPATIBLE
						; REGISTER DEFINITIONS
						;
			000000		RESULT=0
			000001		TEMP=1
			000016		L=16
			000017		P=17
						;
						; GETCHR, CALLING SEQUENCE IS:
						;
						; ICHAR = GETCHR(0)
						;
						; WHERE GETCHR IS AN INTEGER FUNCTION
						; WHICH INPUTS AN ASCII CHARACTER
						; IF THERE IS NO INPUT CHARACTER THEN
						; GETCHR RETURNS A -1
						;
	000000'	334 00 0 00 000000 	GETCHR:	SKIPA			; F40 AND
	000001'	261 17 0 00 000016 		PUSH	P,L		; FORTRAN-10 COMPATIBLE
	000002'	051 02 0 00 000000 		INCHRS	RESULT,		; GET CHAR, SKIP IF GOOD
	000003'	474 00 0 00 000000 		SETO	RESULT,		; ELSE INDICATE NO CHARACTER
	000004'	263 17 0 00 000000 		POPJ	P,		; RETURN TO FORTRAN
						PAGE
IO - GT40 BYTE I/O ROUTINES	MACRO %53A(1152) 11:37  1-Feb-81 Page 1-1
IO	MAC	19-Feb-65 07:58	

						; SNDCHR, CALLING SEQUENCE:
						;
						; CALL SNDCHR(ICHAR)
						;
						; SEND ICHAR AS AN IMAGE CHARACTER
						;
	000005'	334 00 0 00 000000 	SNDCHR:	SKIPA			; F40 AND
	000006'	261 17 0 00 000016 		PUSH	P,L		; FORTRAN-10 COMPATIBLE
	000007'	051 15 1 16 000000 		IONEOU	@0(L)		; SEND THE CHARACTER
	000010'	263 17 0 00 000000 		POPJ	P,		; RETURN TO FORTRAN
						PAGE
IO - GT40 BYTE I/O ROUTINES	MACRO %53A(1152) 11:37  1-Feb-81 Page 1-2
IO	MAC	19-Feb-65 07:58	

						; SETTTY IS A FORTRAN CALLABLE SUBROUTINE USED TO SET
						; TERMINAL CHARACTERISTICS NEEDED BY GIDUS-DISLIB I/O
						; ROUTINES. THE GT40 IS SET IN THE FOLLOWING MANNER:
						;
						; .SET TTY LC
						; .SET TTY NO ECHO
						; .SET TTY NO CRLF   (N.B. NOT RESET BY SUBROUTINE CLRTTY)
						;                    (WILL BE RESET BY PROGRAM CLRTTY)
						; .SET TTY NO ALTMODE
						; .SET TTY GAG
						;
						; THE SUBROUTINE CLRTTY IS USED TO CLEAR THE ABOVE
						; CONDITIONS
						;
			000001		ARGLST=1
						;
	000011'	000000	000000		TTYFNC:	EXP	0			; SET FUNCTION CODE
	000012'	000000	200001			EXP	200001			; TTY1 UDX
	000013'	000000	000000		TTYPAR:	EXP	0			; FUNCTION PARAMETER
						;
	000014'	334 00 0 00 000000 	SETTTY:	SKIPA				; FORTRAN-10 AND
	000015'	261 17 0 00 000016 		PUSH	P,L			; F40 COMPATIBLE
	000016'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000017'	000000	002003			EXP	2003,0			; .SET TTY LC
	000020'	000000	000000
						;
	000021'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000022'	000000	002007			EXP	2007,1			; .SET TTY NO ECHO
	000023'	000000	000001
						;
	000024'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000025'	000000	002010			EXP	2010,1			; .SET TTY NO CRLF
	000026'	000000	000001
						;
	000027'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000030'	000000	002026			EXP	2026,1			; .SET TTY NO ALTMODE
	000031'	000000	000001
						;
	000032'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000033'	000000	002013			EXP	2013,0			; .SET TTY GAG
	000034'	000000	000000
						;
	000035'	263 17 0 00 000000 		POPJ	P,			; RETURN TO FORTRAN
						;
						;
	000036'	334 00 0 00 000000 	CLRTTY:	SKIPA				; FORTRAN-10 AND
	000037'	261 17 0 00 000016 		PUSH	P,L			; F40 COMPATIBLE
	000040'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000041'	000000	002003			EXP	2003,1			; .SET TTY NO LC
	000042'	000000	000001
						;
	000043'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000044'	000000	002007			EXP	2007,0			; .SET TTY ECHO
	000045'	000000	000000
						;
IO - GT40 BYTE I/O ROUTINES	MACRO %53A(1152) 11:37  1-Feb-81 Page 1-3
IO	MAC	19-Feb-65 07:58	

	000046'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000047'	000000	002026			EXP	2026,0			; .SET TTY ALTMODE
	000050'	000000	000000
						;
	000051'	265 01 0 00 000055'		JSP	ARGLST,TTY
	000052'	000000	002013			EXP	2013,1			; .SET TTY NO GAG
	000053'	000000	000001
						;
	000054'	263 17 0 00 000000 		POPJ	P,			; RETURN TO FORTRAN
						PAGE
IO - GT40 BYTE I/O ROUTINES	MACRO %53A(1152) 11:37  1-Feb-81 Page 1-4
IO	MAC	19-Feb-65 07:58	

	000055'	200 00 1 00 000001 	TTY:	MOVE	RESULT,@ARGLST		; GET FUNCTION CODE
	000056'	202 00 0 00 000011'		MOVEM	RESULT,TTYFNC		; AND SETUP
	000057'	200 00 0 01 000001 		MOVE	RESULT,1(ARGLST)	; GET FUNCTION PARAMETER
	000060'	202 00 0 00 000013'		MOVEM	RESULT,TTYPAR		; AND SET UP
	000061'	200 00 0 00 000065'		MOVE	RESULT,[XWD 3,TTYFNC]	; SET UP FOR UUO CALL
	000062'	047 00 0 00 000116 		TRMOP.	RESULT,			; DO IT
	000063'	330 00 0 00 000000 		SKIP				; NO ERROR RETURN
	000064'	254 02 0 01 000002 		JRSTF	2(ARGLST)		; RETURN
						END

NO ERRORS DETECTED

PROGRAM BREAK IS 000066
CPU TIME USED 00:00.270

17P CORE USED
IO - GT40 BYTE I/O ROUTINES	MACRO %53A(1152) 11:37  1-Feb-81 Page S-1
IO	MAC	19-Feb-65 07:58		SYMBOL TABLE

ARGLST		000001		
CLRTTY		000036'	ent	
GETCHR		000000'	ent	
INCHRS	051100	000000		
IONEOU	051640	000000		
L		000016		
P		000017		
RESULT		000000		
SETTTY		000014'	ent	
SNDCHR		000005'	ent	
TEMP		000001		
TRMOP.	047000	000116		
TTY		000055'		
TTYFNC		000011'		
TTYPAR		000013'