home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / emulate / systems / pc370 / demo / igc0011.alc < prev    next >
Text File  |  1987-06-06  |  2KB  |  96 lines

  1.     TITLE 'IGC0011 - PC/370 MVS TIMER TYPE 4 SVC'
  2. * PGMID.   IGC0011.ALC (LINKED AS IGC0011.MOD)
  3. * AUTHOR.  DON HIGGINS.
  4. * DATE.    06/03/87
  5. * REMARKS. PC/370 MVS SHELL TIMER TYPE 4 SVC MODULE DYNAMICALLY
  6. *          LOADED AND EXECUTED BY SVC HANDLER
  7. *
  8. * MAINTENANCE.
  9. *
  10. * 06/03/87 COPIED FROM IGC1013 AND CODED
  11. * 06/06/87 FINISH CODING OPTIONS
  12. *
  13. IGC0011  CSECT
  14.     USING *,R6
  15.     ST    R14,IGCSAV
  16.     LR    R3,R0    SAVE ADDR TO STORE TOD/TIME IN MICROSECONDS
  17.     STC   R1,OPTIONS
  18.     NI    OPTIONS,X'0F'
  19.     BZ    TUNITS          R0 = TOD TIMER UNITS (26. MICROSECONDS)
  20.     CLI   OPTIONS,X'01'
  21.     BE    T01SEC          R0 = TOD 0.01 SECONDS
  22.     CLI   OPTIONS,X'02'
  23.     BE    TPDEC           R0 = TOD PACKED (HHMMSSTH)
  24.     CLI   OPTIONS,X'03'
  25.     BE    TMICRO          A(R0) = DOUBLE WORD TOD (BIT 51 = MSEC)
  26.     CLI   OPTIONS,X'04'
  27.     BE    TCLOCK          A(R0) = TOD CLOCK
  28.     LA    R15,4           EXIT WITH ERROR IF NO OPTION MATCH
  29.     L     R14,IGCSAV
  30.     BR    R14
  31. TUNITS   EQU   *
  32.     L     R15,=V(TIMER)   USE L370.LIB TIMER.ALC SUBROUTINE
  33.     AR    R15,R6          RELOCATE
  34.     BALR  R14,R15
  35.     LR    R1,R0
  36.     SR    R0,R0
  37.     M     R0,=A(1000000/26) CONVERT 0.01 SEC TO TU'S (CRUDE!)
  38.     LR    R0,R1
  39.     B     IGCEXT
  40. T01SEC   EQU   *
  41.     L     R15,=V(TIMER)   USE L370.LIB TIMER.ALC SUBROUTINE
  42.     AR    R15,R6          RELOCATE
  43.     BALR  R14,R15
  44.     B     IGCEXT
  45. TPDEC    EQU   *
  46.     SVC   PCTIME
  47.     ST    R0,WORK
  48.     SR    R0,R0
  49.     IC    R0,WORK                  HOURS
  50.     BAL   R1,CVT
  51.     STC   R0,WORK
  52.     IC    R0,WORK+1                MINUTES
  53.     BAL   R1,CVT
  54.     STC   R0,WORK+1
  55.     IC    R0,WORK+2                SECONDS
  56.     BAL   R1,CVT
  57.     STC   R0,WORK+2
  58.     IC    R0,WORK+3                100TH SECONDS
  59.     BAL   R1,CVT
  60.     STC   R0,WORK+3
  61.     L     R0,WORK
  62.     B     IGCEXT
  63. CVT      EQU   *                       CONVERT R0 NN BINARY TO NN DEC
  64.     CVD   R0,PWORK
  65.     MP    PWORK,=P'10'
  66.     IC    R0,PWORK+6
  67.     BR    R1
  68. TMICRO   EQU   *
  69.     MVC   0(8,R3),=XL8'00'  STORE ZEROS FOR NOW
  70.     B     IGCEXT
  71. TCLOCK   EQU   *
  72.     MVC   0(8,R3),=XL8'00'  STORE ZEROS FOR NOW
  73.     B     IGCEXT
  74. IGCEXT   EQU   *
  75.     SR    R15,R15
  76.     L     R14,IGCSAV
  77.     BR    R14
  78. *
  79. * DATA
  80. *
  81. PWORK    DC    D'0'
  82. WORK     DC    F'0'
  83. PCTIME   EQU   18
  84. IGCSAV   DC    A(0)           SAVE RETURN
  85. OPTIONS  DC    X'00'
  86. R0       EQU   0
  87. R1       EQU   1
  88. R2       EQU   2
  89. R3       EQU   3
  90. R4       EQU   4
  91. R5       EQU   5
  92. R6       EQU   6
  93. R14      EQU   14
  94. R15      EQU   15
  95.     END
  96.