.TITLE MBDPHY - COMPUTE AN MBD ADDRESS .IDENT /04MAY7/ ;10:45:00, EM ; .ENTRY MBDPHY - COMPUTE AN MBD ADDRESS ;+ ; M B D P H Y ; ; PURPOSE: COMPUTE AN MBD ADDRESS BASED ON PAR'S IN PREVIOUSLY ; INITIALIZED TABLE. SHOULD WORK IN USER OR ; KERNEL-INTERRUPT MODE. ; ; INTERFACE: CALLING SEQUENCE: ; CALL MBDPHY ; ; INPUT: R5 -- VIRTUAL ADDRESS ; ; OUTPUT: R5 -- (16-BIT PHYSICAL WORD ADR) ADDRESS ; ; LANGUAGE: MACRO-11 ; ; RESTRICTIONS: NOT FORTRAN-CALLABLE ;- ; REVISIONS: ; 04-MAY-77 EM UPDATED TO CONFORM TO STANDARDS ; ;MACRO CALLS .MCALL RETURN ; ; MBDPHY:: MOV R4,-(SP) ;SAVE R4 MOV R5,R4 ;COPY VIRTUAL ADDRESS ASH #-12.,R4 ;HIGH 3 BITS OF ADDRESS IN R4,BITS 1-3 BIC #177761,R4 ;MASK OUT GARBAGE ADD #PAR0-.-6,R4 ;(R4)=ADDRESS IN PAR TABLE TO USE ADD PC,R4 MOV @R4,R4 ;(R4)=CONTENTS OF SELECTED PAR ASH #5,R4 ASH #-1,R5 ;(R5)=VIRTUAL WORD ADDRESS BIC #170000,R5 ;MASK OUT APF FIELD ADD R4,R5 ;R5 NOW HAS MBD ADDRESS MOV (SP)+,R4 ;RECOVER R4 RETURN PAR0:: 0,0,0,0,0,0,0,0 .END