Télécharger ooodms.eso

Retour à la liste

Numérotation des lignes :

ooodms
  1. C OOODMS SOURCE PV090527 26/04/24 08:23:05 12524
  2. SUBROUTINE OOODMS (IDE,N)
  3. C-------------------------------------------------------------------
  4. C
  5. C DUMP D'UN SEGMENT
  6. C
  7. C IDE POINTEUR SUR LE SEGMENT A DUMPER
  8. C
  9. C SI N NEGATIF ON CHANGE DE REGION DE DUMP
  10. C
  11. C* DUMP EN HEXA DES SEGMENTS A CHAQUE ACTIVATION/DESACTIVATION
  12. C* LA PORTEE DU DUMP EST CONTROLEE A L'AIDE DU PARM 'MAP'
  13. C* FOURNI DS LE PARM.GO DE LA CARTE EXEC
  14. C*
  15. C* PORTEE DU DUMP :
  16. C* -PAS DE DUMP SI ABSENCE DU PARM MAP DS PARM.GO
  17. C* -SYSTEMATIQUE SI MAP=0
  18. C* -LIMITE AUX SGM DE LA REGION I TQ I=MAP
  19. C
  20. C PROGRAMMEUR : PALLAUD puis MOUGIN
  21. C MODIF : 18/09/87 FORMATS POUR HP9000
  22. C MODIF : 26/10/88 FORMATS POUR CONVEX
  23. C MODIF : 22/03/2016 WIN64 => INTRODUCTION
  24. C
  25. C-----------------------------------------------------------------------
  26. C
  27. %INC IOOADR
  28. %INC IOOADZ
  29. %INC IOODES
  30. %INC IOOSGM
  31. %INC IOOVAL
  32. %INC IOOUNIT
  33. C
  34. CHARACTER*8 LPARM
  35. CHARACTER*3 LMOIS(12)
  36. C
  37. DATA LMOIS / 'JAN' , 'FEV' , 'MAR' , 'AVR' , 'MAI' , 'JUN'
  38. * , 'JUI' , 'AOU' , 'SEP' , 'OCT' , 'NOV' , 'DEC' /
  39. C
  40. C INITIALISATION
  41. DATA MAPX /999999999/
  42. DATA MAPA /0/
  43. C
  44. C****** PAS DE DUMP
  45. C
  46. 10 IF (MAPX.LT.0) RETURN
  47. C
  48. C****** INIT DE MAPX
  49. C
  50. IF (MAPX.EQ.999999999) THEN
  51. CALL OOOPRM (LRET,'MAP',LPARM,LLPARM,MAPX)
  52. IF (LRET.NE.3) MAPX=-1
  53. GO TO 10
  54. ENDIF
  55. C
  56. C****** CHGT DE REGION :INIT NUM REGION MAPA
  57. C
  58. IF (N.LE.0) THEN
  59. MAPA=-N
  60. RETURN
  61. ENDIF
  62. C
  63. C****** TEST IMP DUMP
  64. C
  65. IF (MAPX.NE.0) THEN
  66. IF (MAPX.NE.MAPA) RETURN
  67. ENDIF
  68. C
  69. C****** IMPRESSION DE L'EN TETE DU DUMP PUIS TRACE-BACK
  70. C
  71. IVERS=OOOVAL(GO,NUMVERSION)
  72. IVER1=IVERS/10
  73. IVER2=IVERS-10*IVER1
  74. IDATE=OOOVAL(GO,DATEVERSION)
  75. IMOIS=IDATE/100
  76. IYEAR=IDATE-IMOIS*100
  77. WRITE(JLST,1000) IVER1,IVER2 , LMOIS(IMOIS) , IYEAR ,IDE
  78. C
  79. CALL OOOZZ5
  80. WRITE(JLST,2000)
  81. C
  82. C****** DUMP DU SEGMENT PAR PAQUET DE MSLSM MOTS
  83. C LES LIGNES A ZERO NE SONT PAS IMPRIMEES
  84. C
  85. ISG =MDISG(IDE)
  86. LSG =MSLS1(ISG)
  87. NZER=0
  88. LSMM=MSLSM
  89. DO 500 J=1,LSG,LSMM
  90. DO I=1,LSMM
  91. IF (JSG(ISG+J+I-1).NE.0) GO TO 200
  92. ENDDO
  93. NZER=NZER+1
  94. GO TO 500
  95. C INTERLIGNE SI LIGNES A ZERO
  96. 200 IF (NZER.NE.0) WRITE(JLST,2000)
  97. C LE COMPTEUR AFFICHE 1 POUR LE PREMIER MOT DES DONNEES(J=5)
  98. K=J-(MSLZ1)
  99. WRITE(JLST,2000) K,(JSG(ISG+J+I-1),I=1,MSLSM)
  100. NZER=0
  101. 500 CONTINUE
  102. RETURN
  103. C***********************************************************************
  104. 1000 FORMAT ('0GEMAT ',I1,'.',I1,' (',A,I3,')',15X
  105. 1 ,' *** DUMP DU SEGMENT DE POINTEUR : ',I22,' ***'//)
  106. %IF UNIX32,UNIX64,WIN32,WIN64
  107. 2000 FORMAT (I10,5X,8I10)
  108. %ENDIF
  109. %IF IBM,VAX,APOLLO,CONVEX
  110. 2000 FORMAT (Z10,5X,8Z10)
  111. %ENDIF
  112. %IF CRAY,FPS,CDC,CFT77
  113. 2000 FORMAT (Z18,5X,4Z18)
  114. %ENDIF
  115. %IF UNIVAC
  116. 2000 FORMAT (O13,5X,8O14)
  117. %ENDIF
  118. END
  119.  
  120.  

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