Type ASSEMBLE
Source Lines : 197
Fixes Applied : 0
Most Recent Version : Thursday, December 7, 1978
Last Fix ID : [Unmodified]
Module
DMTEXT
Function
THE DMTEXT MODULE IS THE MSUP EXTERNAL INTERRUPT HANDLER. DMTEXT RECEIVES CONTROL DIRECTLY ON AN EXTERNAL INTERRUPT AND SAVES THE STATUS OF THE EXECUTING TASK IF ONE WAS INTERRUPTED.
Attributes
REUSABLE, EXECUTABLE DISABLED ONLY
Operation
IF A TASK WAS EXECUTING AT THE TIME OF THE INTERRUPT, IT IS SUSPENDED. IF THERE HAVE BEEN NO REQUESTS FOR EXTERNAL INTERRUPT ASYNCHRONOUS EXITS, EXIT IS MADE TO THE DISPATCHER. IF THERE HAVE BEEN REQUESTS MADE, THE EXTERNAL INTERRUPT CODE IS EXAMINED. ONLY THE FOLLOWING INTERRUPT CODES ARE SERVICED, ALL OTHERS RESULT IN AN IMMEDIATE EXIT TO THE DISPATCHER: X'1004' - CLOCK COMPARATOR THE QUEUE IS SCANNED TO FIND THE ASYNCHRONOUS QUEUE ELEMENT WHICH CORRESPONDS TO THIS INTERRUPT. FOR CLOCK COMPARATOR INTERRUPTS, THE FIRST ELEMENT SHOULD SATISFY THE SEARCH, SINCE THEY ARE QUEUED IN ASSENDING ORDER WITH THE FIRST ELEMENT BEING THE ACTIVE ONE. THE QUEUE ELEMENT IS DEQUEUED AND RETURNED TO THE POOL. IF THERE IS ANOTHER CLOCK COMPARATOR QUEUE ELEMENT BEHIND IT, IT IS MADE THE ACTIVE ELEMENT AND THE CLOCK COMPARATOR IS SET FOR ITS VALUE; IF THERE ARE NO MORE CLOCK COMPARATOR REQUESTS BEHIND IT, THE CLOCK COMPARATOR IS SET FOR ALL HEX F'S. IN EITHER CASE, THEREAFTER THE USER TASK EXIT IS TAKEN AFTER THE EXIT HAS BEEN TAKEN, RETURN IS MADE TO THE DISPATCHER
Calls to Other Routines
DMTDSP - TO RESUME DISPATCHED PROCESSING