Google
 

Trailing-Edge - PDP-10 Archives - BB-FB49A-RM - sources/sntpsi.b36
There are no other files named sntpsi.b36 in the archive.
%title 'SNT Priority Software Interrupt'

module SNTPSI (ident = 'Version 1.00') =
begin

! Copyright (c) 1984, 1985 by
! DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts
!
! This software is furnished under a license and may be used and  copied
! only  in  accordance  with  the  terms  of  such  license and with the
! inclusion of the above copyright notice.  This software or  any  other
! copies  thereof may not be provided or otherwise made available to any
! other person.  No title to and ownership of  the  software  is  hereby
! transferred.
!
! The information in this software is subject to change  without  notice
! and  should  not  be  construed  as  a commitment by Digital Equipment
! Corporation.
!
! Digital assumes no responsibility for the use or  reliability  of  its
! software on equipment which is not supplied by Digital.
!++
! FACILITY:	DECnet/SNA TOPS-20 Trace Utility Interrupt Routines.
!
! ABSTRACT:	This module provides the interface to the software
!               interrupt system.
!
! ENVIRONMENT:	TOPS-20 Operating Systems, user mode.
!
! AUTHOR:	Dennis Brannon,               CREATION DATE: Sept 13, 1984.
!
! MODIFIED BY:
!
! 	D. Brannon, 11-Oct-84 : VERSION 1.00
!
!--

!
! REQUIRED FILES
!

library 'MONSYM';                       ! Monitor symbols
library 'SNTDEF';                       ! SNT common definitions
require 'JSYS';                         ! TOPS-20 JSYS declarations

!
! FORWARD ROUTINE
!

forward routine
    PSI$DISABLE_INTERRUPTS,
    PSI$ENABLE_INTERRUPTS,
    PSI$TTY_INIT,
    PSI$TTY_RESTORE;

!
! EXTERNAL REFERENCES
!

external
    CHANNELS: vector [$MAXIMUM_SUPPORTED_PORTS];
external routine
    BLISS_PSI_ROUTINES;
%global_routine ('PSI$ENABLE_INTERRUPTS') =

!++
! FUNCTIONAL DESCRIPTION:
!
!       Turn on the TOPS-20 Priority Software Interrupt system.
!
! FORMAL PARAMETERS:
!
!       none
!
! ROUTINE VALUE:
!
!       none
!
! SIDE EFFECTS:
!
!       none
!
!--

    begin

    PSIEIR ($fhslf);                    ! Enable interrupt system
    
    return $TRUE;
    end;                                ! End of PSI$ENABLE_INTERRUPTS
%global_routine ('PSI$DISABLE_INTERRUPTS') =

!++ 
! FUNCTIONAL DESCRIPTION: 
!  
!  Turn on the TOPS-20 Priority Software Interrupt system.  
!  
! FORMAL PARAMETERS: 
!  
!  none 
!
! ROUTINE VALUE: 
!  
!  none 
!  
! SIDE EFFECTS: 
!  
!  none 
!  
!--

    begin

    PSIDIR ($fhslf);                    ! Disable interrupt system
    
    return $TRUE;
    end;                                ! End of PSI$DISABLE_INTERRUPTS
%global_routine ('PSI$TTY_INIT', char_code, intrtn_address) =

!++
! FUNCTIONAL DESCRIPTION:
!
!       Initialize the TOPS-20 Priority Software Interrupt system for
!       a character code.
!
! FORMAL PARAMETERS:
!
!       none
!
! ROUTINE VALUE:
!
!       none
!
! SIDE EFFECTS:
!
!       none
!
!--

    begin

    local
        I,
        CHANNEL_MASK;

    PSISIR ($fhslf);                    ! Set up PSI tables for process

    ! Set up interrupt channels for a particular char_code.

    CHANNEL_MASK = 0;
    I = char_code;
    CHANNEL_MASK<(35-.CHANNELS[.I]),1> = $TRUE;
    PSIINT (2, .INTRTN_ADDRESS, .CHANNELS[.I]);
    PSIATI (.char_code, .CHANNELS[.I]);
    PSIAIC ($fhslf, .CHANNEL_MASK);     ! Activate interrupt channels

    return $TRUE;
    end;                                ! End of PSI$TTY_INIT
%global_routine ('PSI$TTY_RESTORE') =

!++ 
! FUNCTIONAL DESCRIPTION: 
!  
!  Turn on the TOPS-20 Priority Software Interrupt system.  
!  
! FORMAL PARAMETERS: 
!  
!  none 
!
! ROUTINE VALUE: 
!  
!  none 
!  
! SIDE EFFECTS: 
!  
!  none 
!  
!--

   begin

   PSI$DISABLE_INTERRUPTS();

   return $TRUE;
   end;                                 ! End of PSI$TTY_RESTORE
end                                   ! End of SNTPSI module
eludom
! Local Modes:
! Mode:BLISS
! Auto Save Mode:2
! Comment Column:40
! Comment Rounding:+1
! End: