PAGE
         IDP         "SIP GEN PROCESSEUR"
<
<
<        G E N E R A T I O N   D U   P R O C E S S E U R :
<
<
         LOCAL
XXXLOC:  EQU         $
XXXCCI:  WORD        1               < RETOUR AU CCI.
XXXMOK:  BYTE        '6D;"O"
         ASCI        "K!"            < MESSAGE 'OK!'.
XXXDOK:  WORD        '0202           < ENVOI DU MESSAGE 'OK'.
         WORD        XXXMOK-ZERO*2
         WORD        4
XXXSGN:  WORD        '8402           < DEMANDE DE GENERATION DU PROCESSEUR.
         WORD        BRANCH-ZERO*2   < @OCTET DE LA BRANCHE.
         WORD        ZERO-BRANCH+PILE-LTNI-LTNI*2
         WORD        -1
         NLS
NOMOV1: @
         IF          '0006='F700,,XWOR%,
         LST
XXXOV1:  WORD        DEBOV1          < ADRESSE DEBUT OVERLAY 1.
         NLS
XWOR%:   VAL         0
NOMOV2: @
         IF          '0006='F700,,XWOR%,
         LST
XXXOV2:  WORD        DEBOV2          < ADRESSE DEBUT OVERLAY 2.
         NLS
XWOR%:   VAL         0
         LST
XXXPIL:  DZS         2               < PILE DE GENERATION.
         PROG
         USE         L,XXXLOC+'80
         WORD        XXXLOC+'80      < VALEUR INITIALE DE LA BASE L.
XXXGEN:  EQU         $
         LRP         L               < INITIALISATION DE LA BASE L.
         LA          -1,L
         LR          A,L
         LAD         XXXPIL-1        < INITIALISATION DE L'ADRESSE DE PILE.
         LR          A,K
         NLS
NOMOV2: @
         IF          '0006='F700,,XWOR%,
         LST
<
<        TENTATIVE DE GENERATION DE L'OVERLAY 2.
<
XXXGN4:  EQU         $
         LB          XXXSGN+1
         LA          XXXOV2          < PLACER SON ADRESSE DE DEBUT.
         SLLS        1
         STA         XXXSGN+1
         LAD         XXXSGN          < GENERATION.
         SVC         0
         STB         XXXSGN+1
         JE          XXXGN5          < OK ...
<
<        ERREUR - L'OVERLAY EXISTE DEJA.
<
         LAD         XXXCCI          < RETOUR CCI.
         SVC         0
         JMP         XXXGN4          < ET REESSAI.
<
<        BONNE GENERATION.
<
XXXGN5:  EQU         $
         LAD         XXXDOK          < ENVOI MESSAGE OK.
         SVC         0
         LAD         XXXCCI          < ET RETOUR AU CCI.
         SVC         0
         NLS
XWOR%:   VAL         0
NOMOV1: @
         IF          '0006='F700,,XWOR%,
         LST
<
<        TENTATIVE DE GENERATION DE L'OVERLAY 1.
<
XXXGN7:  EQU         $
         LB          XXXSGN+1
         LA          XXXOV1          < PLACER SON ADRESSE DE DEBUT.
         SLLS        1
         STA         XXXSGN+1
         LAD         XXXSGN          < GENERATION.
         SVC         0
         STB         XXXSGN+1
         JE          XXXGN8          < OK ...
<
<        ERREUR - L'OVERLAY EXISTE DEJA.
<
         LAD         XXXCCI          < RETOUR CCI.
         SVC         0
         JMP         XXXGN7          < ET REESSAI.
<
<        BONNE GENERATION.
<
XXXGN8:  EQU         $
         LAD         XXXDOK          < ENVOI MESSAGE OK.
         SVC         0
         LAD         XXXCCI          < ET RETOUR AU CCI.
         SVC         0
         NLS
XWOR%:   VAL         0
         LST
<
< TENTATIVE DE GENERATION :
<
XXXGN1:  EQU         $
         LAD         XXXSGN
         SVC         0               < ENVOI DEMANDE DE GENERATION.
         JNE         XXXGN2          < ERREUR : IL EXISTE DEJA!!!
<
< OK , BONNE GENERATION :
<
         LAD         XXXDOK
         SVC         0               < ENVOI DU MESSAGE OK.
<
< RETOUR DEFINITIF AU CCI :
<
XXXGN3:  EQU         $
         LAD         XXXCCI
         SVC         0               < RETOUR AU CCI.
         JMP         XXXGN3          < CAS DES !GO.
<
< CAS DES ERREURS DE GENERATION :
< LE PROCESSEUR EXISTE DEJA:
<
XXXGN2:  EQU         $
         LAD         XXXCCI
         SVC         0               < RETOUR PROVISOIRE AU CCI.
         JMP         XXXGN1          < TRY AGAIN LA GENERATION.
         END         XXXGEN



Copyright © Jean-François Colonna, 2022-2022.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2022-2022.