Télécharger oooxtr.eso

Retour à la liste

Numérotation des lignes :

oooxtr
  1. C OOOXTR SOURCE PV090527 26/04/24 08:23:35 12524
  2. SUBROUTINE OOOXTR (PSEG,LSEG)
  3. C-------------------------------------------------------------------
  4. C
  5. C R E D U C T I O N D'U N S E G M E N T
  6. C
  7. C
  8. C PSEG POINTEUR SUR LE SEGMENT
  9. C LSEG NOMBRE DE MOTS DE DONNEES DU SEGMENT REDUIT
  10. C
  11. C PROGRAMMEUR : MOUGIN
  12. C MODIF : 16/11/88 RETIRER L'ARGUMENT LRET DU CALL OOOMSU
  13. C MODIF : 03/01/89 RETIRER L'ARGUMENT LRET DU CALL OOOSUS
  14. C MODIF : 27/01/89 IPP=>PSEG L=>LSEG ET CALL OOOVPN
  15. C
  16. C-------------------------------------------------------------------
  17. C
  18. %INC IOOADR
  19. %INC IOOADZ
  20. %INC IOODES
  21. %INC IOOSGM
  22. %INC IOOTRO
  23.  
  24. POINTEUR PSEG.PSEG
  25. C
  26. IDE = PSEG
  27. ITYP = MDTYP(IDE)
  28. ICAT = MDCAT(ITYP)
  29. IETAT = MDETAT(ITYP)
  30. IF (IETAT.NE.MDACT) GO TO 901
  31. C
  32. C****** LONGUEUR DE DONNEES ACTUELLE DU SEGMENT
  33. C
  34. ISG=MDISG(IDE)
  35. LSG=MSLS1(ISG)
  36. LSS=LSG-MSLCZ
  37. LSEG = ((LSEG+(MSLSM-1))/MSLSM)*MSLSM
  38. C
  39. IF (LSS.LE.LSEG .OR. (LSS-MSLSM).LE.LSEG) RETURN
  40. C
  41. IF (ICAT.EQ.MDBLOCK) THEN
  42. CALL OOOSUS (MDMK(IDE))
  43. ENDIF
  44. C
  45. C****** REDUCTION NECESSAIRE
  46.  
  47. C
  48. LT=LSS-LSEG
  49. CALL OOOZMR (JSG(ISG+MSLZ1+LSEG+1),LT)
  50. MZJMM(QXFNRAZ)=MZJMM(QXFNRAZ)+LT
  51. C RECONSTRUCTION DU MOT DE CONTROLE DE QUEUE DU SEGMENT
  52. C ET INSERTION DU TROU
  53. LSX=LSG
  54. LSG=(LSEG+MSLCZ+(MSLSM-1))/MSLSM*MSLSM
  55. MSLS1(ISG) = LSG
  56. MSLS2(ISG) = LSG
  57. MSIDE(ISG) = IDE
  58. IT = ISG+LSG
  59. LT = LSX-LSG
  60. LSE = -LT
  61. CALL OOOMSU (IZA,IT,LT)
  62. C
  63. C****** FIN DE REDUCTION
  64. C
  65. MZJSM(ACTUEL)=MZJSM(ACTUEL)+LSE
  66. MZJSM(DEF)=MAX0(MZJSM(DEF),MZJSM(ACTUEL))
  67. MZJSM(ACTACTIF)=MZJSM(ACTACTIF)+LSE
  68. MZJSM(MAXACTIF)=MAX0(MZJSM(MAXACTIF),MZJSM(ACTACTIF))
  69. IF (ICAT.EQ.MDFIXE) THEN
  70. MZQCHN(FIXE)=MZQCHN(FIXE)+LSE
  71. ELSE
  72. MZQCHN(ACTIF)=MZQCHN(ACTIF)+LSE
  73. ENDIF
  74. RETURN
  75. C-----------------------------------------------------------------------
  76. C
  77. C MESSAGES D'ERREUR
  78. C
  79. 901 CALL OOOERR (IDE ,-1,'SEGMENT NON ACTIF ')
  80. STOP 16
  81. END
  82.  
  83.  

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