Table of Contents

DMSSVN Abstract

Statistics

Type ASSEMBLE
Source Lines : 330
Fixes Applied : 0
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [Unmodified]

Synopsis

Module

     DMSSVN    (DMSSVN)

Function

     THE  CMS DMSSVN  ROUTINE PROCESSES  OS  WAIT AND  POST
     MACROS.  ALL THE OS MACRO OPTIONS ARE SUPPORTED.

Attributes

     REENTRANT, SEGMENT RESIDENT

Operation

     THE DMSSVN ROUTINE HAS FOUR  ENTRY POINTS: DMSSVN1,DMSSVN2,
     DMSSVN93 AND DMSSVN94.

     IF AN OS WAIT MACRO IS ISSUED, CONTROL IS PASSED TO THE
     DMSSVN1 ENTRY  POINT IN DMSSVN.   DMSSVN CHECKS  TO SEE
      IF ENOUGH ECB'S ARE POSTED TO SATISFY THE ECB COUNT
      INDICATED. IF NOT, THE WAIT BITS IN THE ECB'S ARE TURNED
      ON AND SUCCESSIVE WAIT PSW'S ARE LOADED UNTIL THE WAIT
      COUNT IS SATISFIED. AFTER THE WAIT COUNT IS SATISFIED, THE
      WAIT BITS IN THE ECB'S SPECIFIED ARE TURNED OFF AND CONTROL
      IS RETURNED TO THE USER. IF THE WAIT COUNT IS LARGER THAN THE
    ECB COUNT, THE USER IS ABENDED.

     IF AN OS POST MACRO IS ISSUED, CONTROL IS PASSED TO THE
     DMSSVN2  ENTRY  POINT  IN DMSSVN.   DMSSVN  STORES  THE
     COMPLETION CODE IN THE ECB,  SETS THE COMPLETION BIT IN
     THE FIRST BYTE  OF THE ECB AND RETURNS  CONTROL TO THE
     USER.


     IF A TGET OR TPUT SVC IS ISSUED, CONTROL IS PASSED TO THE
     DMSSVN93 (SVC 93) ENTRY POINT IN DMSSVN. THIS ROUTINE
     CHECKS THE HIGH ORDER BIT OF USER REGISTER 1. IF IT IS ON,
     TGET HAS BEEN REQUESTED, IF OFF, THE REQUEST IS FOR TPUT.

     TGET STORES THE ADDRESS OF THE USER'S I/O AREA INTO THE
     'WAITRD' PLIST, AND ISSUES A CALL TO DMSCRD VIA AN SVC.
     UPON RETURN FROM DMSCRD, THE LENGTH OF THE I/O OPERATION
     IS STORED INTO THE USER'S REGISTER SAVE AREA, AND RETURN IS MADE
     THROUGH A COMMON RETURN ROUTINE, DESCRIBED IN TPUT.

     TPUT STORES THE USER'S BUFFER ADDRESS AND I/O LENGTH INTO
     THE DMSCWR P-LIST AND LINKS TO DMSCWR VIA SVC. UPON RETURN,
     RETURN IS MADE AFTER CHECKING IF AN ATTENTION
     INTERUPT HAS OCCURRED DURING THE I/O OPERATION. IF IT HAS NOT,
     A RETURN CODE OF '0' IS STORED INTO THE USER'S REGISTER SAVE
     AREA,IF THE INTERUPT HAS OCCURRED A RETURN CODE OF '4' IS SET.

      IF A TCLEARQ SVC (SVC 94) IS ISSUED, CONTROL IS PASSED TO
      ENTRY POINT DMSSVN94 IN DMSSVN. A CHECK IS MADE TO DETERMINE
      IF THE REQUEST IS FOR INPUT OR OUTPUT BY CHECKING THE HI-
      ORDER BIT OF REGISTER 0. IF THE BIT IS OFF, THE REQUEST IS FOR
      OUTPUT. SINCE THIS OPTION IS NOT SUPPORTED, CONTROL IS RETURNED
      TO THE USER. IF THE BIT IS ON, A CALL IS MADE TO DMSCIT
      (DMSCITDB/DESBUF) TO DESTROY THE TERMINAL INPUT BUFFER VIA BALR.
      UPON RETURN, CONTROL IS RETURNED TO THE CALLER.

Calls to Other Routines

     DMSSAB.