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'