Télécharger ooowin.eso

Retour à la liste

Numérotation des lignes :

ooowin
  1. C OOOWIN SOURCE PV090527 26/04/24 08:23:31 12524
  2. CMODE 89/09/29 15:24:48 ESOP
  3. SUBROUTINE OOOWIN (LRET,IRET,HARG,PSEG,LSEG)
  4. C--------------------------------------------------------------------
  5. C
  6. C SEGXXX /ERR=100/ PSEG
  7. C
  8. C ->LRET 1 PLUS DE PLACE MEMOIRE ET : IRET = 1
  9. C 2 OK
  10. C
  11. C IRET ACTION SI PLUS DE PLACE MEMOIRE
  12. C 0 STOP 16
  13. C 1 RETURN AVEC LRET = 1
  14. C
  15. C HARG 'NOM_SUBROUTINE NUMERO_LIGNE NOM_SEGMENT '
  16. C
  17. C PSEG POINTEUR DESIGNANT LE SEGMENT
  18. C LSEG LONGUEUR DES DONNEES DU SEGMENT EN MOTS
  19. C
  20. C PROGRAMMEUR : MOUGIN
  21. C CREE : 15/12/88 OOOY.. => OOOW.. (ARGUMENT HARG EN PLUS)
  22. C MODIF : 02/05/89 SEPARE D'AVEC L'ENTRY OOOWAD
  23. C
  24. C--------------------------------------------------------------------
  25. C
  26. %INC IOOADR
  27. %INC IOOADZ
  28. %INC IOODES
  29. %INC IOOSGM
  30. %INC IOOWCOM
  31. %INC IOOUNIT
  32. %INC IOOSAF
  33.  
  34. CHARACTER*(*) HARG
  35. POINTEUR PSEG.PSEG
  36.  
  37. INTEGER ITTIME(4)
  38. LOGICAL LGLL,LWAIT
  39. CHARACTER*(6) HDUREE
  40. C
  41. C ENTRY OOOWIa (LRET,IRET,HARG,PSEG,LSEG)
  42. C ENTRY OOOWIb (LRET,IRET,HARG,PSEG,LSEG)
  43. C ENTRY OOOWIc (LRET,IRET,HARG,PSEG,LSEG)
  44. C ENTRY OOOWId (LRET,IRET,HARG,PSEG,LSEG)
  45. C ENTRY OOOWIe (LRET,IRET,HARG,PSEG,LSEG)
  46. C ENTRY OOOWIf (LRET,IRET,HARG,PSEG,LSEG)
  47. C ENTRY OOOWIg (LRET,IRET,HARG,PSEG,LSEG)
  48. C ENTRY OOOWIh (LRET,IRET,HARG,PSEG,LSEG)
  49. C ENTRY OOOWIi (LRET,IRET,HARG,PSEG,LSEG)
  50. C ENTRY OOOWIj (LRET,IRET,HARG,PSEG,LSEG)
  51. C ENTRY OOOWIk (LRET,IRET,HARG,PSEG,LSEG)
  52. C ENTRY OOOWIl (LRET,IRET,HARG,PSEG,LSEG)
  53.  
  54. HDIA = HARG
  55. LDIA = LEN(HARG)
  56.  
  57. C On saute l'ENTRY OOOYIN
  58. GOTO 100
  59.  
  60. ENTRY OOOYIN (LRET,IRET,PSEG,LSEG)
  61. HDIA =' '
  62. LDIA = 0
  63.  
  64. 100 CONTINUE
  65. KASINS = INSTRUCTION_SEGINI
  66.  
  67. C Logique pour chronométrer l'attente
  68. C LWAIT=.TRUE. duree dans ooowait seulement
  69. C LGLL =.TRUE. duree dans ooogll seulement
  70. LGLL =MZATTE .LT. 0 .AND. thread
  71. LWAIT =MZATTE .GT. 0
  72.  
  73. If (.NOT.THREAD.and.THREAD) write(JLST,*) ' bug compilateur aix'
  74. If (.NOT.THREAD.and.THREAD) write(JERR,*) ' bug compilateur aix'
  75.  
  76. nth=0
  77. if (thread) nth=oothrd
  78.  
  79. C Debut du Chronometre
  80. if (LGLL) CALL oootps(ITTIME,nth)
  81.  
  82. if (thread) then
  83. lnsf(oothrd)=0
  84. call ooogll(1)
  85. endif
  86.  
  87. if (LGLL) then
  88. C Fin du Chronometre : Mesure du temps
  89. ITPS0=ITTIME(1)+ITTIME(2)
  90. CALL oootps(ITTIME,nth)
  91. IELAPS=ITTIME(1)+ITTIME(2)-ITPS0
  92. endif
  93.  
  94. PSEG = 0
  95. CALL OOOINI(LRET,PSEG,LSEG)
  96.  
  97. if (thread) then
  98. call ooogll(0)
  99. lnsf(oothrd)=1
  100. endif
  101. if(pseg.eq.abs(MZSURV)) CALL OOOMES(pseg,'GEMAT SURVEILLE ')
  102.  
  103. C Emmission du message GEMAT ATTEND apres le message SURVEILLE (regularite par rapport aux autres SEGXXX)
  104. if (LGLL .AND. IELAPS .ge. ABS(MZATTE)) then
  105. WRITE(HDUREE,'(i6)') IELAPS
  106. CALL OOOMES(PSEG,'GEMAT ATTEND'//HDUREE)
  107. endif
  108.  
  109. IF (LRET.EQ.1) THEN
  110. IF (IRET.EQ.0) GO TO 901
  111. PSEG = 0
  112. ENDIF
  113. RETURN
  114. C-----------------------------------------------------------------------
  115. C MESSAGES D'ERREUR
  116. C-----------------------------------------------------------------------
  117. 901 CALL OOOERR (0,0,'PAS ASSEZ DE PLACE EN MEMOIRE')
  118. STOP 16
  119. END
  120.  
  121.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales