oooynf
C OOOYNF SOURCE PV090527 26/04/24 08:23:36 12524 SUBROUTINE OOOYNF (LRET,PSEG,LSEG) C------------------------------------------------------------------- C C INITIALISATION D'UN SEGMENT FIXE C C ->LRET 1 PLUS DE PLACE MEMOIRE C 2 OK C C ->PSEG POINTEUR DESIGNANT LE SEGMENT CREE C LSEG NOMBRE DE MOTS DE DONNEES DU SEGMENT C C PROGRAMMEUR : MOUGIN C MODIF : 09/01/89 UTILISER OOOMIN SIMPLIFIE C MODIF : 25/01/89 UTILISER OOODEX SIMPLIFIE C MODIF : 25/01/89 SUPPRIMER L'ARGUMENT IRET C C------------------------------------------------------------------- C %INC IOOADR %INC IOOADZ %INC IOODES %INC IOOSGM %INC IOOWCOM POINTEUR PSEG.PSEG C IF (LSEG.LE.0) GO TO 901 C C S'ASSURER QU'IL Y A UN DESCRIPTEUR C IF (-MDIDS(MZIDE1).EQ.MZIDE1) THEN IF (TESOOO) CALL OOOWER ('OOOINI => OOODEX : ADD DESCRIPTEURS') CALL OOODEX (LRET,MZNDEX) IF (TESOOO) CALL OOOWER ('OOOINI <= OOODEX : FIN') IF (LRET.EQ.1) RETURN ENDIF C LSG = LSEG+MSLCZ 110 CALL OOOMIN (LRET,ZMEMFIX,ISEG,LSG) IF (LRET.EQ.1) THEN CALL OOOMWF (LRET,LSG) IF (LRET.EQ.1) RETURN GO TO 110 ENDIF C C****** ENLEVE LE DESCRIPT DE LA CHAINE DES DESCRIPT. LIBRES C PSEG = -MDIDS(MZIDE1) MDIDS(MZIDE1) = MDIDS(PSEG) MDIDP(-(MDIDS(PSEG)))=-MZIDE1 C C****** IMPLANTATION SEGMENT C C INDICE:ISEG,LG:LSG,DESCRIPT:PSEG C INITIALISER LE DESCRIPTEUR DU SGM: C INSERER DANS LA CHAINE DES SEGMENTS ACTIFS MDZERO(PSEG)=0 C IMPLANTATION MEMOIRE DU SGM DE LG (LSG) MSIDE(ISEG) = PSEG MDISG(PSEG) = ISEG MDTYP(PSEG) = MDLTYP(MDFIXE,MDMEM,MDACT,0,0) C IDA = MDACHN(FIXE) MDCHNP , IDA(PSEG) C MAJ DES STATS/SGM ET /MOTS: NBRE ACTUEL ET MAX DEFINI C NBRE ACTIF ET MAX ACTIF MZJSS(ACTUEL) = MZJSS(ACTUEL)+1 MZJSM(ACTUEL) = MZJSM(ACTUEL)+LSG MZJSS(DEF) = MAX(MZJSS(DEF),MZJSS(ACTUEL)) MZJSM(DEF) = MAX(MZJSM(DEF),MZJSM(ACTUEL)) MZJSS(ACTACTIF)=MZJSS(ACTACTIF)+1 MZJSS(MAXACTIF)=MAX(MZJSS(MAXACTIF),MZJSS(ACTACTIF)) MZJSM(ACTACTIF)=MZJSM(ACTACTIF)+LSG MZJSM(MAXACTIF)=MAX(MZJSM(MAXACTIF),MZJSM(ACTACTIF)) C LRET = 2 RETURN C----------------------------------------------------------------------- C C MESSAGES D'ERREUR C 901 CALL OOOERR (LSEG,1,'LONGUEUR DU SEGMENT INVALIDE') STOP 16 END
© Cast3M 2003 - Tous droits réservés.
Mentions légales