Télécharger IOOSGM.INC

Retour à la liste

Numérotation des lignes :

  1. C --------------------------
  2. C I MOTS DE CONTROLE SEGMENT I
  3. C --------------------------
  4. C
  5. C EN GENERAL , LES SEGMENTS PRESENTS EN MEMOIRE SONT LIES
  6. C PAR UN CHAINAGE AUX AUTRES SEGMENTS D'UNE MEME CATEGORIE
  7. C CE DOUBLE CHAINAGE CIRCULAIRE EST REALISE A L'AIDE DE 2
  8. C POINTEURS (PRECEDENT ET SUIVANT , VOIR : MSIDP ET MSIDS)
  9. C POUR CHAQUE CATEGORIE , UN SEGMENT OCCULTE , MATERIALISE
  10. C LA TETE DE LA CHAINE CORRESPONDANTE .
  11. C
  12. C
  13. C ** C O N S T A N T E S S E G M E N T ***
  14. C
  15. C MSLSM LONGUEUR MINIMUM D'UN SEGMENT EN MOTS
  16. C MSLZ1 LONGUEUR ZONE DE CONTROLE : EN TETE DU SEGMENT
  17. C MSLZ2 LONGUEUR ZONE DE CONTROLE : EN FIN DU SEGMENT
  18. C MSLCZ LONGUEUR ZONE DE CONTROLE : TOTAL
  19. C
  20. %IF UNIX64,WIN64
  21. MACRO , MSLSM = 6
  22. %ELSE
  23. MACRO , MSLSM = 8
  24. %ENDIF
  25. MACRO , MSLZ1 = 4
  26. MACRO , MSLZ2 = 1
  27. MACRO , MSLCZ = (MSLZ1+MSLZ2)
  28. C
  29. C SCHEMA DES M O T S D E C O N T R O L E D'UN SEGMENT
  30. C
  31. C ------------------------------------------ ------------
  32. C I MSLS1 I MSIDE I MSIDP I MSIDS I DONNEES I MSLS2 I
  33. C ------------------------------------------ ------------
  34. C
  35. C IS INDICE DU SEGMENT : JSG(IS+I),I=1,LS
  36. C LS LONGUEUR DU SEGMENT , EN MOTS .
  37. C
  38. C MSLS1(IS) LONGUEUR DU SEGMENT , EN MOTS
  39. C MSIDE(IS) INDICE DU DESCRIPTEUR DU SEGMENT
  40. C MSIDP(IS) INDICE DU DESCRIPTEUR DU SEGMENT PRECEDENT
  41. C MSIDS(IS) INDICE DU DESCRIPTEUR DU SEGMENT SUIVANT
  42. C MSLS2(IS) LONGUEUR DU SEGMENT , EN MOTS
  43. C
  44. MACRO , MSLS1(IS) = JSG(IS+1)
  45. MACRO , MSIDE(IS) = JSG(IS+2)
  46. MACRO , MSIDP(IS) = JSG(IS+3)
  47. MACRO , MSIDS(IS) = JSG(IS+4)
  48. MACRO , MSLS2(IS)
  49. MSLS2 = JSG(IS+MSLS1(IS))
  50. PSEUDO , LSG
  51. JSG(IS+(LSG))=LSG
  52. ENDMACRO
  53. C
  54. MACRO , MSZERO(IS)
  55. PSEUDO , LZERO
  56. JSG(IS+1)=LZERO
  57. JSG(IS+2)=LZERO
  58. JSG(IS+3)=LZERO
  59. JSG(IS+4)=LZERO
  60. ENDMACRO
  61. C
  62. C MSEGM (IS) LE BLOC MEMOIRE EST IL UN SEGMENT ?
  63. C MSEGMG(IS) LE BLOC MEMOIRE A GAUCHE EST IL UN SEGMENT ?
  64. C
  65. MACRO , MSEGM (IS) = (JSG(IS+1).GT.0)
  66. MACRO , MSEGMG(IS) = (JSG(IS ).GT.0)
  67. MACRO , MSLSP (IS) = JSG(IS)
  68. C
  69. C****** TYPE DE DESACTIVATION D'UN SEGMENT (CF OOODES)
  70. C EXEMPLE :
  71. C CALL OOODES (IP,NDES)
  72. C NDES=LNOMOD-1
  73. C
  74. MACRO , (LNOMOD,LMOD,MNOMOD,MMOD)
  75. C
  76. C
  77. C -----------------------------
  78. C I DONNEES D'UN SUPER SEGMENT I
  79. C -----------------------------
  80. C
  81. C
  82. C MSLMARK LONGUEUR DU MARQUEUR
  83. C MSMARK LONGUEUR D'UN SUPER SEGMENT
  84. C (SOMME DES LONGUEURS DES COMPOSANTS)
  85. C
  86. MACRO , MSLMARK = ( ((8+MSLCZ+MSLSM-1)/MSLSM)*MSLSM )
  87. MACRO , MSMARK(IS) = JZZ(IS+MSLZ1+1)
  88. C
  89. C ETAT DES COMPOSANTS D'UN SUPER SEGMENT EN NOMBRE DE SEGMENTS
  90. C
  91. MACRO , ( STACTIF , STINACT , STLNOMOD , STLMOD
  92. * , STMNOMOD , STMMOD , STOTAL )
  93. C
  94. C ACCES A L'ETAT D'UN SUPER SEGMENT EN FONCTION DU TYPE D'UN
  95. C COMPOSANT
  96. C
  97. MACRO , MSMKISS(ITYP)=MZMKSS(MDMKSS(ITYP))
  98. C
  99. C MSMKSTAT COMPTEURS D'ETAT STATISTIQUE
  100. C
  101. MACRO , MSMKSTAT(IS,ISTAT) = JZZ(IS+MSLZ1+1+ISTAT)
  102. C
  103. C ETATS D'UN SUPER SEGMENT
  104. C
  105. MACRO , S S ACTIF(IS)=
  106. * (MSMKSTAT(IS,STACTIF ).EQ.MSMKSTAT(IS,STOTAL))
  107.  
  108. MACRO , S S HLRU(IS) =
  109. * ((MSMKSTAT(IS,STINACT ).EQ.MSMKSTAT(IS,STOTAL))
  110. * .OR. (MSMKSTAT(IS,STLNOMOD).EQ.MSMKSTAT(IS,STOTAL))
  111. * .OR. (MSMKSTAT(IS,STLMOD ).EQ.MSMKSTAT(IS,STOTAL)))
  112.  
  113. MACRO , S S HMRU(IS)=
  114. * ((MSMKSTAT(IS,STMNOMOD).EQ.MSMKSTAT(IS,STOTAL))
  115. * .OR. (MSMKSTAT(IS,STMMOD ).EQ.MSMKSTAT(IS,STOTAL)))
  116.  
  117. MACRO , SUPER SEGMENT ACTIF DESACTIVE LRU(IS)=
  118. * ((MSMKSTAT(IS,STLNOMOD)
  119. * +MSMKSTAT(IS,STACTIF ).EQ.MSMKSTAT(IS,STOTAL))
  120. * .OR. (MSMKSTAT(IS,STLMOD )
  121. * +MSMKSTAT(IS,STACTIF ).EQ.MSMKSTAT(IS,STOTAL)))
  122.  
  123. MACRO , SUPER SEGMENT ACTIF DESACTIVE MRU(IS)=
  124. * ((MSMKSTAT(IS,STMNOMOD)
  125. * +MSMKSTAT(IS,STACTIF ).EQ.MSMKSTAT(IS,STOTAL))
  126. * .OR. (MSMKSTAT(IS,STMMOD)
  127. * +MSMKSTAT(IS,STACTIF ).EQ.MSMKSTAT(IS,STOTAL)))
  128. C
  129. C-----------------------------------------------------------------------
  130. C
  131.  

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