	.title	iovir
	.enabl	lc
	.globl	iovir
	.psect	iovir
;
; IOVIR maps the 4k-word portion of virtual memory extending from octal
; 140000 to 157777 to the specific area in physical memory corresponding
; to the I/O page.  This is necessary under TSX-Plus to accommodate
; programs that both use Fortran virtual arrays and directly address
; I/O page registers, such as those that call the LAPLOT subroutines.
;
; Fortran call:       CALL IOVIR
;
iovir:	mov	#mapphy,r0	; point to EMT arg block to..
	emt	375		; ..map to physical memory
	rts	pc		; return to Fortran
;
mapphy:	.byte	17,140		; EMT arg block to map to physical memory
	.word	6		; remap Page Address Register 6
				; (SETSIZ or the LINK /K:24. option
				;  must be used to avoid conflict with
				;  Fortran work space)
	.word	177600		; 17760000/64. address to map into PAR 5
size:	.word	200		; size of region to be mapped - 4k words
	.word	1		; access: 0=read only, 1=read/write
	.end
