oooxmv
C OOOXMV SOURCE PV090527 26/04/24 08:23:34 12524 SUBROUTINE OOOXMV (LRET,PSEG,LSEG) C--------------------------------------------------------------------- C C DEPLACER UN SEGMENT EN MEMOIRE AVEC EXTENSION EVENTUELLE C EN ZONE MEMOIRE DYNAMIQUE C C ->LRET 1 PLUS DE PLACE MEMOIRE C 2 OK C C PSEG POINTEUR DU SEGMENT C LSEG LONGUEUR DE DONNEES DE LA NOUVELLE VERSION DU SEGMENT C C PROGRAMMEUR : MOUGIN C MODIF : 03/01/89 SUPPRIMER L'ARGUMENT LRET DU CALL OOOSUS C MODIF : 25/01/89 SUPPRIMER L'ARGUMENT IRET C C--------------------------------------------------------------------- C %INC IOOADR %INC IOOADZ %INC IOODES %INC IOOSGM C POINTEUR PSEG.PSEG C LRET=2 C C****** ACTIVATION DU SEGMENT A DEPLACER C IDE = PSEG C SAUVEGARDE DU DESCRIPTEUR DU SEGMENT A COPIER ITYP =MDTYP(IDE) IETAT=MDETAT(ITYP) IQUEU=MDQUEU(ITYP) IF (IETAT.NE.MDACT) THEN CALL OOOACT (LRET,IDE,0) IF (LRET.EQ.1) RETURN ENDIF C SUPER SEGMENT ? : ON L'ECLATE : IF (MDCAT(ITYP).EQ.MDBLOCK) CALL OOOSUS (MDMK(IDE)) C C****** INITIALISATION DU NOUVEAU SEGMENT AVEC REGLE D'INSERTION GAUCHE C LATGD = MZATGD(IZA,ZMEMDYN) MZATGD(IZA,ZMEMDYN) = 0 CALL OOOINI (LRET,ID2,LSEG) MZATGD(IZA,ZMEMDYN) = LATGD IF (LRET.EQ.1) RETURN C ISG=MDISG(IDE) LSG=MSLS1(ISG) IS1=ISG+MSLZ1 IS2=MDISG(ID2)+MSLZ1 C TRANSFERT DONNEES-MOTS DE CONTROLE DE TETE CALL OOOZMV (JSG(IS1+1),JSG(IS2+1),LSG-(MSLCZ)) MZJSS(DEPLACES)=MZJSS(DEPLACES)+1 MZJSM(DEPLACES)=MZJSM(DEPLACES)+LSG-(MSLCZ) C ECHANGE DES DESCRIPTEURS MSECH , IDE(ID2) C SUPPRESSION DE L'ANCIEN SEGMENT ET DESACTIVATION DE LA NOUVELLE C VERSION SI NECESSAIRE IF (IETAT.NE.MDACT) THEN IF (IQUEU.EQ.MDLRU) THEN NDES=LMOD ELSE NDES=MMOD ENDIF CALL OOODES (LRET,IDE,NDES-1) ENDIF CALL OOOSUP (LRET,ID2,0) END
© Cast3M 2003 - Tous droits réservés.
Mentions légales