Google
 

Trailing-Edge - PDP-10 Archives - decus_20tap2_198111 - decus/20-0027/memory.mac
There are 2 other files named memory.mac in the archive. Click here to see a list.
00100	TITLE	MEMORY EXTENSION CONTROL	VERSION #2	SEPT. 1 '69
00200	SUBTTL	DON WITCRAFT	1-22-66
00300	
00400	
00500	;MEMORY EXTENSION REGISTERS
00600	
00700	INTERNAL IF,IBR,DFF,IFSW,DFSW,IFSAVE,DFSAVE
00800	
00900	;MEMORY EXTENSION CONTROL
01000	
01100	IFSW:	0			;INSTRUCTION FIELD SWITCHES
01200	IF:	0			;INSTRUCTION FIELD REGISTER
01300	IFSAVE:	0			;SAVE FIELD REGISTER BITS 0-2,IF
01400	IBR:	0			;INSTRUCTION BUFFER REGISTER
01500	DFSW:	0			;DATA FIELD SWITCHES
01600	DFF:	0			;DATA FIELD REGISTER
01700	DFSAVE:	0			;SAVE FIELD REGISTER BITS 3-5,DFF
01800	
01900	;MEMORY EXTENSION IOTS
02000	
02100	INTERNAL CDF,CIF,RDF,RIF,RIB,RMF
02200	
02300	
02400	CDF:	SUBI RUNTIM,3
02500		ANDI MB,70		;CHANGE TO DATA FIELD N
02600		LSH MB,^D9		;MB6-8=>DFF
02700		MOVEM MB,DFF
02800		POPJ PDP,
02900	
03000	CIF:	SUBI RUNTIM,3
03100		ANDI MB,70		;CHANGE INSTRUCTION FIELD
03200		LSH MB,^D9		;MB6-8=>IB
03300		MOVEM MB,IBR
03400		POPJ PDP,
03500	
03600	RDF:	SUBI RUNTIM,3
03700		ANDI AC,7		;READ DATA FIELD
03800		MOVE AC0,DFF
03900		LSH AC0,-14		;DFF=>AC6-8
04000		OR AC,AC0
04100		POPJ PDP,
04200	
04300	RIF:	SUBI RUNTIM,3
04400		ANDI AC,70		;READ INSTRUCTION FIELD
04500		MOVE AC0,IF		;IF=>AC6-8
04600		LSH AC0,-11
04700		OR AC,AC0
04800		POPJ PDP,
04900	
05000	RIB:	SUBI RUNTIM,3
05100		ANDI AC,77		;READ INTERRUPT BUFFER
05200		MOVE AC0,IFSAVE		;SF0-2=>AC6-8
05300		LSH AC0,-11
05400		OR AC,AC0
05500		MOVE AC0,DFSAVE		;SF3-5=>AC9-11
05600		LSH AC0,-14
05700		OR AC,AC0
05800		POPJ PDP,
05900	
06000	RMF:	SUBI RUNTIM,3
06100		MOVE AC0,IFSAVE		;RESTORE MEMORY FIELD
06200		MOVEM AC0,IBR		;SF0-2=>IB
06300		MOVE AC0,DFSAVE		;SF3-5=>DFF
06400		MOVEM AC0,DFF
06500		POPJ PDP,
06600		END