Type ASSEMBLE
Source Lines : 358
Fixes Applied : 5
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [R13219DS]
Module
DMSITE
Function
TO HANDLE EXTERNAL INTERRUPTS.
Attributes
NUCLEUS, REENTRANT
Operation
DMSITE USES THE WORKAREA EXISECT IN THE NUCLEUS IN ORDER TO MAINTAIN REENTRANCY. AN EXTERNAL INTERRUPTION CAUSES CONTROL TO BE PASSED TO THE EXTERNAL INTERRUPT HANDLER DMSITE. IF THE INTERRUPT WAS CAUSED BY THE TIMER, BLIP IS ON, AND THE CONSOLE IS QUIET, DMSITE RESETS THE TIMER TO A VALUE OF TWO SECONDS, AND TYPES THE BLIP CHARACTER AT THE TERMINAL. THE STANDARD BLIP CHARACTER IS UPPER CASE, FOLLOWED BY LOWER CASE (IT MOVES THE TYPEBALL WITHOUT PRINTING). IF THE INTERRUPT WAS NOT A TIMER INTERRUPT AND EXTERNAL INTERRUPT HANDLING IS NOT WANTED, CONTROL RETURNS TO THE CALLER. IF EXTERNAL INTERRUPT HANDLING IS WANTED, FREE STORAGE IS OBTAINED TO SAVE REGISTERS, THE NEW EXTERNAL PSW IS LOADED. ON RETURN, THE REGISTERS ARE RESTORED AND THE STORAGE AREA RETURNED. IF THE OLD PSW WAS NOT IN WAIT, THE OLD EXTERNAL PSW IS LOADED AND CONTROL RETURNED. IF IT WAS IN WAIT AND THE INTERRUPT CODE WAS NOT AN I/O INTERRUPT, THE RETURN ADDRESS IS SET AS ADDRESS IN EXTERNAL OLD PSW AND CONTROL IS RETURNED TO CALLER.
Calls to Other Routines
FREE, FRET, CONWRITE