DF'SIP DEFINITION CMS5' ED'SIP DEFINITION CMS5' IN0 IDP "SIP DEFINITION CMS5" < < < C O N S T A N T E S L I E E S A C M S 5 : < < LCCI: VAL 80 < LONGUEUR MAX DES MESSAGES 'CCI'. NBITMO: VAL 16 IDESC: MOT '0C < IDESC DANS DCTESC DEMSWP: MOT '17 < NSPTYP DE DEMSWP DANS DCTESC ATASGN: MOT '38 < RELAI VERS TASSGN TASSGN: MOT '38+1 < DEPLACEMENT DE TASGN DANS DCTESC ACADCT: VAL 'FF80 < ACCES A LA ROUTINE CADCT DE CMS4 TETE: MOT '18 < DEPLACEMENT DE TETE DANS DCT SIT: MOT '20 < DEPLACEMENT DE SIT DANS DCT ETAT: MOT '2E < DEPLACEMENT DE ETAT DANS DCT FRETRY: VAL '32 < ROUTINE D'ITERATION DES TENTATIVES. OPDEM: MOT 1 < ACCES OPDEM DANS DEMANDE DE SERVICE CODEM: MOT 3 < ACCES CODEM DANS DEMANDE DE SERVICE NVP: VAL '0B < NVP DE LA VISU ASSIGNEE NVPMAX: VAL '0C-1 < DERNIER NVP ACCESSIBLE NESCLA: VAL 8+1 < NOMBRE D'ESCLAVES +1 SECTSY: VAL '800 < ADRESSE SECTEUR DU SYSTEME LBUFES: VAL '38 < LONGUEUR EN MOTS DE BUFESC NSPTV: VAL '04 < NSP DU SYSTEME VIDEO NSPNXS: VAL '18 < NSP DU HANDLER NEXT-SERIE NSPDK1: VAL '23 < NSP DU 1ER DISQUE NSPHOR: VAL '29 < NSP DE HDLHOR NSPESC: VAL '57 < NSP D'ACCES A LA LISTE DES DCTESC NSPUSE: VAL '61 < NSP D'ACCES A NUSERA NSPDAT: VAL '6A < NSP D'ACCES A LA DATE/HEURE NSPSAV: VAL '6B < NSP D'INTERFACE DU SYSTEME < DE SAVE/RECOVERY XWOR%1: VAL "@" IF XWOR%1-"S",XWOR%,,XWOR% ORDI: VAL "S" < ASSEMBLAGE SOLAR-CMS5. DADR: VAL -4 < CONVERSION ADRESSE 16-MOTS. TZSWAP: VAL 'A8 < NOMBRE DE SECTEURS D'UNE ZONE < DE SWAPPING ESCLAVE NBCUS: VAL "3" < NUMERO DU CU DE SORTIE SON. WCUS: VAL '0818+'0005 < ARGUMENT DE SIO ECRITURE SUR CU SON. NSPVI1: VAL '06 < NSP DE LA PREMIERE VISU NSPVIN: VAL '0D < NSP DE LA DERNIERE VISU BOERA: MOT 6 < DEPLACEMENT TEMPO ERASE DANS DCT. ATABUL: MOT '0C < ACCES TABLE DE TABULATION VISU. NSPUPD: VAL '50 < NSP D'ACCES AU NUMERO DE RELEASE CMS5. TVCTRL: MOT '1B < ADRESSE EN MEMOIRE DEBANALISEE DU MOT < DE CONTROLE DU SYSTEME DE TELEVISION < NUMERIQUE. TVIN: VAL '0040 < BIT DISCRIMINANT IN (1) ET OUT (0). TVSIMU: VAL '0003 < MASQUE DES INDICATEURS DE < SELECTION DES COMPOSANTES. TVMEM: VAL '1B < ADRESSE-1 DES ADRESSES DES 3 < COMPOSANTES R-V-B. TVMEME: MOT '1F < ADRESSE EN MEMOIRE DEBANALISEE DU MOT < DONNANT L'ADRESSE DE LA ZONE MEMOIRE < DONT ON SIMULE LA VISUALISATION < DYNAMIQUE. TVNITE: MOT '0C < MOT CONTENANT LE NBRE D'ITERATIONS. TVPR: VAL 1 < NUMERO DU PROCESSEUR ROUGE, TVPV: VAL 2 < NUMERO DU PROCESSEUR VERT, TVPB: VAL 3 < NUMERO DU PROCESSEUR BLEU. NSPCOL: VAL '51 < NSP D'ACCES A LA MEMOIRE DES COULEURS. XWOR%: VAL 0 IF XWOR%1-"S",,XWOR%, ORDI: VAL "T" < ASSEMBLAGE T1600-CMS4. TZSWAP: VAL '80 < NOMBRE DE SECTEURS D'UNE ZONE < DE SWAPPING ESCLAVE NBCUS: VAL "1" < NUMERO DU CU DE SORTIE SON. WCUS: VAL '0236 < ARGUMENT SIO ECRITURE SUR CU SON. NSPVI1: VAL '07 < NSP DE LA PREMIERE VISU NSPVIN: VAL '0E < NSP DE LA DERNIERE VISU BOERA: MOT 5 < DEPLACEMENT TEMPO ERASE DANS DCT. ATABUL: MOT '0B < ACCES TABLE DE TABULATION VISU. XWOR%: VAL 0 IF ORDI-"T",XWOR%,,XWOR% VAR: MOT '33 < ZONE VARIABLE DES 'DCT'. XWOR%: VAL 0 IF ORDI-"S",XWOR%,,XWOR% ASYSER: VAL 'FFDF < DEPLACEMENT D'ACCES AU S/P 'SYSER'. VAR: MOT '37 < ZONE VARIABLE DES 'DCT'. XWOR%: VAL 0 ADM: MOT VAR+1 < ADRESSE MEMOIRE DE LA ZONE < VISUALISEE PAR LE SYSTEME VIDEO COM: MOT VAR+2 < SENS DE L'OPERATION VIDEO NSPUP: MOT VAR+0 < ACCES AU MOT DE DCTHOR PERMETTANT < DE REACTIVER UN HANDLER :F :F < <<'SIP DEFINITION CMS5' DF'SIP DEFINITION CMS5' DF'SIP DEFINITION ITEM' ED'SIP DEFINITION ITEM' IN0 IDP "SIP DEFINITION ITEM" NLS XXXXXX: VAL 1 < ABSENCE DE PROCESSEUR CONCERNE. XXXXXX: VAL "GE"-NMPROC='FF00(XXXXXX < EST-CE "GE" ??? XXXXXX: VAL "GI"-NMPROC='FF00(XXXXXX < OU "GI" ??? XXXXXX: VAL "GO"-NMPROC='FF00(XXXXXX < OU "GO" ??? XXXXXX: VAL "EI"-NMPROC='FF00(XXXXXX < OU "EI" ??? IF XXXXXX,XWOR%X,,XWOR%X LST PAGE < < < F O R M A T D ' U N N O E U D : < < DSEC FNOEUD LNOEUD: VAL 80 < NBRE DE MOTS OCCUPES PAR UN < NOEUD : ON SE LIMITE A 80 MOTS , < AFIN QUE LE !SGN N'ALLOUE QU'UN < SECTEUR DISQUE A LA <VALEUR>. NOEUD: EQU $ XXNOMC: VAL 6 < NOMBRE DE CARACTERES DE <NOMC>. XXNOCM: VAL 2 < NOMBRE D'OCTETS PAR MOT. NOMC: DZS XXNOMC/XXNOCM < NOM CODE SUR 6 CARACTERES. XXEOT: VAL '04 < CODE DE <EOT>. XX80: VAL '80 < BIT DE PARITE. BYTE XXEOT;"N"+XX80 < <EON> DE FIN DE <NOMC> ET < INDICAATEUR DE 'TYPE-NOEUD' , < SOUS FORME 'N'+'80. CONCOR: DZS XXNOMC/XXNOCM < PERMET LA GESTION D'UNE CHAINE < DE CONCORDANCE RELIANT ENTRE < EUX TOUS LES NOEUDS REFERANCANT < LE MEME ITEM ; ON TROUVE ICI LE < <NOMC> DU NOEUD SUIVANT. INDIC: BYTE XXEOT;0 < <EON> & INDICATEURS. BITEM: VAL 8 < BITEM=1 : UN ITEM EST ATTACHE < A CE NOEUD. ITEM: DZS XXNOMC/XXNOCM < <NOMC> DE L'ITEM ATTACHE A < CE NOEUD. BYTE XXEOT;0 < <EON>. FAMILY: BYTE 0;0 < OCTET0=OCCUPATION DES 8 PERES < POSSIBLES DE CE NOEUD , < OCTET1=OCCUPATION DES 8 FILS < POSSIBLES DE CE NOEUD. XXPF: VAL 8 < NOMBRE DE PERES/FILS POSSIBLES. XWOR%1: VAL XXNOMC/XXNOCM*XXPF PERES: DZS XWOR%1 < LISTE DES 8 <NOMC> DES PERES < POSSIBLES DE CE NOEUD ; < ATTENTION : POUR CHAQUE <NOMC> , < IL MANQUE L'<EON>. FILS: DZS XWOR%1 < LISTE DES 8 <NOMC> DES FILS < POSSIBLES DE CE NOEUD ; < ATTENTION : POUR CHAQUE <NOMC> , < IL MANQUE L'<EON>. LNOM: VAL NOEUD-$+LNOEUD*XXNOCM < NOMBRE MAX DE CARACTERES DE <NOM>. NOM: DZS LNOM/XXNOCM < <NOM> REEL DU NOEUD. TOPN: EQU $-1 < SOMMET DU NOEUD. < < < R E L A I S D ' A C C E S A U N O E U D : < < XNOMC: VAL NOMC-NOEUD < DEPLACEMENT DE <NOMC> DANS NOEUD XNOM: VAL NOM-NOEUD < DEPLACEMENT DE <NOM> DANS NOEUD. ANOMC: WORD NOMC,X < RELAI D'ACCES A <NOMC>. ANOM: WORD NOM,X < RELAI D'ACCES A <NOM>. LTN: VAL $-NOEUD < LONGUEUR DE LA DSEC. PAGE < < < F O R M A T D ' U N I T E M : < < DSEC FITEM < < < E N - T E T E D E L ' I T E M : < < LHITEM: VAL LNOEUD < NBRE DE MOTS OCCUPES PAR < L'EN-TETE D'UN ITEM. HITEM: EQU $ < EN-TETE D'UN ITEM. NOMCI: DZS XXNOMC/XXNOCM < NOM CODE SUR 6 CARACTERES. BYTE XXEOT;"I"+XX80 < <EON> DE FIN DE NOM , ET < INDICATEURS TYPE-ITEM : 'I'+'80. LRITEM: WORD 0 < LONGUEUR REELLE DE L'ITEM EN < OCTETS (0 INITIALEMENT). IINDIC: WORD 0 < INDICATEURS DIVERS ET VARIES. < OCTET0=NATURE DE L'ITEM (='00 , < SI L'ITEM EST VIDE) : < OCTET0='T' POUR 'TYPE-TEXTE'. XWOR%3: MOT FAMILY-NOEUD FAMILI: EQU HITEM+XWOR%3 < OCCUPATION DES 16 PERES POSSIBLES < D'UN ITEM. XWOR%3: MOT PERES-NOEUD PERIS: EQU HITEM+XWOR%3 < LISTE DES 16 PERES POSSIBLES < D'UN ITEM. NOMI: EQU HITEM+XNOM < NOM DE L'ITEM. XWOR%3: MOT TOPN-NOEUD TOPI: EQU HITEM+XWOR%3 < TOP DE L'EN-TETE DE L'ITEM. DZS TOPI-IINDIC < $<--TOPI+1. < < < R E L A I S D ' A C C E S : < < ANOMCI: WORD NOMCI,X ANOMI: WORD NOMI,X < < < C O R P S D E L ' I T E M : < < NBCAR: VAL 74 < NBRE DE CARACTERES/LIGNE. NBLIG: VAL 35 < NBRE DE LIGNES/PAGE. LITEM: VAL NBCAR*NBLIG < NBRE DE CARACTERES MAX OCCUPES < PAR LE CORPS DE L'ITEM. CITEM: DZS LITEM/XXNOCM < CORPS DE L'ITEM PROPREMENT DIT. XWORK2: VAL CITEM-HITEM LTNI: VAL $-HITEM < LONGUEUR TOTALE MAXIMALE EN < MOTS DE L'ITEM (EN-TETE+CORPS). PROG PILE: MOT 'FF0-6 < ADRESSE DE LA PILE DE SMC IF XXXXXX,,XWOR%, IINDIC @ < ON REND 'IINDIC' ABSOLU ... XWOR%9: VAL 6='F700 < ACCES A L'ETAT DE 'IINDIC'... XWOR%9: VAL XWOR%9?'0043='F500+'0040='F600(0+6='F701 LRITEM @ < AINSI QUE 'LRITEM'... XWOR%9: VAL 6='F700 < ACCES A L'ETAT DE 'LRITEM'... XWOR%9: VAL XWOR%9?'0043='F500+'0040='F600(0+6='F701 XWOR%: VAL 0 NLS XWOR%X: VAL 0 IF XXXXXX,,XWOR%X, LST < < < C O N S T A N T E S D E L ' I T E M : < < NBLIG: VAL 35 < NOMBRE DE LIGNES/ECRAN NBCAR: VAL 74 < NOMBRE DE CARACTERES/LIGNES LTN: VAL '52 < LONGUEUR MOT DE L'EN-TETE LTNI: VAL NBCAR*NBLIG/2+LTN < LONGUEUR TOTALE DE L'ITEM PILE: VAL 'FF0-6 < ADRESSE DE LA PILE DE SMC LRITEM: VAL 4 < EMPLACEMENT DE LA LONGUEUR DU < CORPS DE L'ITEM IINDIC: VAL 5 < INDICATEUR DU TYPE DE L'ITEM < (LE TYPE ATTENDU EST 'T') LNOM: VAL '26 < NOMBRE MAX DE CARACTERES D'UN NOM < D'ITEM. NLS XWOR%X: VAL 0 LST :F :F < <<'SIP DEFINITION ITEM' DF'SIP CODAGE PUNCH' ED'SIP CODAGE PUNCH' IN0 IDP "SIP CODAGE PUNCH" < < < T A B L E D E P U N C H A S C I : < < WORD '2121 < EOT 4(TRANSPOSE EN '1F) WORD '0000 < SPACE 20 WORD '4821 < ! 21 WORD '0061 < " 22 WORD '0421 < # 23 WORD '4421 < $ 24 WORD '2222 < POUR-CENT 25 WORD '8001 < & 26 WORD '0121 < ' 27 WORD '8121 < ( 28 WORD '4121 < ) 29 WORD '4222 < * 2A WORD '80A1 < + 2B WORD '2421 < , 2C WORD '4002 < - 2D WORD '8421 < . 2E WORD '3002 < / 2F WORD '2001 < 0 30 WORD '1001 < 1 31 WORD '0801 < 2 32 WORD '0401 < 3 33 WORD '0201 < 4 34 WORD '0101 < 5 35 WORD '0081 < 6 36 WORD '0041 < 7 37 WORD '0021 < 8 38 WORD '0011 < 9 39 WORD '0821 < : 3A WORD '40A1 < ; 3B WORD '8222 < < 3C WORD '00A1 < = 3D WORD '20A1 < > 3E WORD '2061 < ? 3F WORD '0222 < @ 40 WORD '9002 < A 41 WORD '8802 < B 42 WORD '8402 < C 43 WORD '8202 < D 44 WORD '8102 < E 45 WORD '8082 < F 46 WORD '8042 < G 47 WORD '8022 < H 48 WORD '8012 < I 49 WORD '5002 < J 4A WORD '4802 < K 4B WORD '4402 < L 4C WORD '4202 < M 4D WORD '4102 < N 4E WORD '4082 < O 4F WORD '4042 < P 50 WORD '4022 < Q 51 WORD '4012 < R 52 WORD '2802 < S 53 WORD '2402 < T 54 WORD '2202 < U 55 WORD '2102 < V 56 WORD '2082 < W 57 WORD '2042 < X 58 WORD '2022 < Y 59 WORD '2012 < Z 5A WORD 'C002 < CROC G 5B WORD '6002 < ANTI / 5C WORD 'A002 < CROC D 5D WORD '8062 < CHAPEAU 5E WORD '4062 < SOULIGN 5F :F :F < <<'SIP CODAGE PUNCH' DF'SIP GEN PROCESSEUR' ED'SIP GEN PROCESSEUR' IN0 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 :F :F < <<'SIP GEN PROCESSEUR' DF'SIP IMAGE 256' ED'SIP IMAGE 256' IN0 IDP "SIP IMAGE 256" < < < I M A G E V I D E O < < LNOM: VAL 10 < NBRE MAX DE MOTS DU NOM IMAGE CNMPL: VAL 16 < NBRE DE MOTS DE 16 BITS PAR LIGNE. DY: VAL 4 < REDUCTION SUR L'AXE DES Y RDY: VAL DY < REDUCTION SUR L'AXE DES Y DEDY: VAL DY=0 < DECALAGE EQUIVALENT A DY DX: VAL 1024/CNMPL/16 < REDUCTION SUR L'AXE DES X RDX: VAL DX < REDUCTION SUR L'AXE DES X DEDX: VAL DX=0 < DECALAGE EQUIVALENT A DX LIMAG: VAL 1024/DY*CNMPL < LONGUEUR MOT DE L'IMAGE IF ORDI-"S",XWOR%,,XWOR% < < EN-TETE DE L'IMAGE VIDEO. CET EN-TETE EST UN ARGUMENT D'APPEL LORS < DE L'UTILISATION DE LA FONCTION INTERPOLATION VIDEO DU SYSTEME CMS5 SOLAR. < DEPSPA: VAL 0 < DEPLACEMENT "SPARE". DEPMOD: VAL '0@@@@+1 < DEPLACEMENT MODE TRACE : < = 1 : MODE TRACE "BLANC" ('SBT'), < = 0 : MODE TRACE "NOIR" ('RBT'), < =-1 : MODE TRACE INVERSION ('IBT'). DEPY1R: VAL '0@@@@+1 < DEPLACEMENT Y1 RESULTAT. DEPX1R: VAL '0@@@@+1 < DEPLACEMENT X1 RESULTAT. DEPY2R: VAL '0@@@@+1 < DEPLACEMENT Y2 RESULTAT. DEPX2R: VAL '0@@@@+1 < DEPLACEMENT X2 RESULTAT. DEPY1: VAL '0@@@@+1 < DEPLACEMENT Y1 ARGUMENT. DEPX1: VAL '0@@@@+1 < DEPLACEMENT X1 ARGUMENT. DEPY2: VAL '0@@@@+1 < DEPLACEMENT Y2 ARGUMENT. DEPX2: VAL '0@@@@+1 < DEPLACEMENT X2 ARGUMENT. DEPIMA: VAL '0@@@@+1 < DEPLACEMENT IMAGE. LENTIM: VAL '0@@@@ < LONGUENR DE L'EN-TETE IMAGE. XWOR%: VAL 0 :F :F < <<'SIP IMAGE 256' DF'SIP SP1' ED'SIP SP1' IN0 IDP "SIP SP1" < < < I N I T I A L I S A T I O N E N R E G I S T R E M E N T < V I D E O E X T E R N E : < < < FONCTION : < 0- MASQUER LES IT DE NIVEAU 7 , < 1- INHIBER LA FONCTION DU ALT-MODE POUR < CET UTILISATEUR , < 2- BLOQUER LE SWAPPING OUT , AFIN DE RENDRE < SON ESPACE MEMOIRE RESIDENT , < 3- METTRE LE SYSTEME VIDEO EN LECTURE. < < < ARGUMENT : < W=@DCT-ESCLAVE , < C=@COMMON CMS4. < < TIMAG: WORD IMAG < ADRESSE RELATIVE DE L'IMAGE < PAR RAPPORT AU REGISTRE SLO. SP1: EQU $ < < MASCAGE DU NIVEAU 7 : < LAI 1 XIMR A < MASCAGE DES IT DE NIVEAU 7. < < INHIBITION DU ALT-MODE : < LA IDESC,W < ACCES A L'IDESC ESCLAVE. SBT 2 < INHIBITION DU ALT-MODE. STA IDESC,W < MAJ DE L'IDESC. < < BLOCAGE DU SWAPPING POUR L'ESCLAVE : < LA DEMSWP,W SBT 0 STA DEMSWP,W < LE NSPTYP DE DEMSWP A SON BIT0 < A 1 ; LE SWAPPING EST DONC < BLOQUE. < < MISE EN PLACE DE L'@ DE IMAG : < LRP L LB TIMAG-$+1,L < B=@RELATIVE DE IMAG. LA 10,W < A=SLO DE L'ESCLAVE. ADR A,B < B=@ ABSOLUE DE IMAG. LXI NSPTV BSR ACADCT,C < L=@DCT-VIDEO. STB ADM,L < DEMANDE DE TRAVAIL SUR IMAG. < < MISE DE LA VIDEO EN ENREGISTREMENT : < LAI '30 < CODE DE LECTURE 4K MOTS. IF LIMAG-'1000,,X100, IF L'IMAGE NE FAIT PAS 4K MOTS. X100: VAL 0 STBY COM,L RSR :F :F < <<'SIP SP1' DF'SIP SP1' DF'SIP SP2' ED'SIP SP2' IN0 IDP "SIP SP2" < < < F I N D ' E N R E G I S T R E M E N T < D E V I D E O E X T E R N E : < < < FONCTION : < 1- REMETTRE LA VIDEO EN ECRITURE (TV) , < 2- DEBLOQUER LE SWAPPING , < 3- REAUTORISER LE ALT-MODE. < 4- DEMASQUER LES IT DE NIVEAU 7. < < < ARGUMENT : < W=@DCT-ESCLAVE , < C=@COMMON CMS4. < < SP2: EQU $ < < RETOUR AU MODE ECRITURE (TV) : < LXI NSPTV BSR ACADCT,C < L=@DCT-VIDEO. LAI 'B0 < CODE ECRITURE ADM 4K MOTS. STBY COM,L < < DEBLOQUAGE DU SWAPPING OUT : < LA DEMSWP,W RBT 0 < RAZ DU BIT0(NSPTYP(DEMSWP)). STA DEMSWP,W < < RE-AUTORISATION DU ALT-MODE : < LA IDESC,W RBT 2 STA IDESC,W < < DEMASCAGE DU NIVEAU 7 : < LAI 0 XIMR A < DEMASCAGE DES IT DE NIVEAU 7. RSR :F :F < <<'SIP SP2' DF'SIP SP2' DF'SIP SP3' ED'SIP SP3' IN0 IDP "SIP SP3" < < < V I S U A L I S A T I O N I M A G E : < < SP3: EQU $ LRP L LB TIMAG-$+1,L < B=@RELATIVE IMAGE. LA 10,W < A=SLO(ESCLAVE). ADR A,B < B=@ABSOLUE IMAGE. LXI NSPTV BSR ACADCT,C < L=@DCT-VIDEO. STB ADM,L < DEMANDE DE VISUALISATION IMAGE. RSR :F :F < <<'SIP SP3' DF'SIP SP3' DF'SIP DEF PROCESSEUR' ED'SIP DEF PROCESSEUR' IN0 IDP "SIP DEF PROCESSEUR" PAGE < < < I N T E R F A C E D ' O V E R L A Y : < < < FONCTION : < CETTE ROUTINE EST CHARGEE DE CHARGER < LA BRANCHE DE L'OVERLAY 'GE'/'EI' ; < SI LE CHARGEMENT EST REUSSI , ELLE < LUI DONNE LA MAIN , < SINON , ELLE REVIENT EN ERREUR. < < < ARGUMENT : < W=ADRESSE 'BRANCH', < A=ADRESSE DE 'DEMSGN'. < < < RESULTAT : < LE RETOUR N'EST FAIT QU'EN CAS D'ERREUR. < < PROG ZERO: EQU $ < < < T R A N S M I S S I O N D E S A R G U M E N T S : < < DZS 7 < ZONE DE TRANSMISSION ARGUMENTS : CDRET: VAL 2 < MOT2=CONDITIONS DE RETOUR (0=OK). NCEI: VAL 3 < <NOMC> DU NOEUD COURANT SUR < 6 CARACTERES (MOT3,MOT4,MOT5). MODCAL: VAL 6 < IDENTIFICATION DE L'APPELANT : < 0 : APPEL PAR !GE , < 1 : APPEL PAR 'EI'. < < < A P P E L O V E R L A Y : < < OVL: EQU $ < ENTRY DE CHARGEMENT DE LA < BRANCHE D'OVERLAY. < ON A ICI : < A=@DEMSGN , < W=@BRANCHE. SVC 0 < ENVOI DE LA DEMANDE AU SGN. JNE XXXRLD < RETOUR EN ERREUR DU SGN. < < CAS OU LE CHARGEMENT DE L'OVERLAY EST CORRECT : < BR 5,W < ON PASSE ALORS LA MAIN A LA < BRANCHE QUE L'ON VIENT DE < CHARGER. < < CAS DES RETOURS EN ERREUR : < XXXRLD: EQU $ RSR < RETOUR AU PROCESSEUR. < < < E N - T E T E D U P R O C E S S E U R : < < TABLE BRANCH: EQU $ NCEI: VAL ZERO-BRANCH+NCEI CDRET: VAL ZERO-BRANCH+CDRET MODCAL: VAL ZERO-BRANCH+MODCAL WORD NMPROC < NOM DU PROCESSEUR ASCI " " < DESTINE A LA GENERATION. BYTE '04;'D0 < <EON>-'P'+'80. WORD '1F00 < TAILLE EN OCTETS AU CAS D'UN < APPEL PAR !CALL. :F :F < <<'SIP DEF PROCESSEUR' DF'SIP PAGE' ED'SIP PAGE' IN0 NLS < XLIST: VAL 0 < A PRIORI. SAVORD: VAL ORDI < A PRIORI. IF ORDI-"S",XWOR%2,,XWOR%2 XLIST: VAL '00000000000@ < NIVEAU D'IMBRICATION DES NLS. IF XLIST-1,XWOR%3,XWOR%3, SAVORD: VAL ORDI < SAUVEGARDE DE 'ORDI'. ORDI: VAL "T" < ON FAIT COMME SI ON ETAIT EN T1600, < ET DONC ON NE FERA PAS DE SOMMAIRE... XWOR%3: VAL 0 XWOR%2: VAL 0 < IF ORDI-"T",XWOR%1,,XWOR%1 LST PAGE NLS XWOR%2: VAL '0050='F350 < SAUVEGARDE DE CD1 EN CD2; < C'EST TOUT CE QU'ON FAIT DANS < CET IF, CAR IL NE FAUT PAS < FAIRE DE A-RONDS MODIFIANT CD1, < AU CAS OU ON SERAIT EN 'SOLAR'. XWOR%1: VAL 0 IF ORDI-"S",XWOR%1,,XWOR%1 XYZ003: VAL 4 < NOMBRE DE CHIFFRES TRAITES < LORS DE LA CONVERSION HEXADECIMAL- < DECIMAL (EN PARTANT DE LA DROITE) XYZ001: VAL '0959='F347 < DEPLACER LE COMMANTAIRE EN 2EME < CARTE DYNAMIQUE @< XYZ001: VAL '0950='F309 < COMPLETER CETTE CARTE AVEC '< ...' DEVANT @:F;:F;:F; XYZ001: VAL '09A0='F309 < INITIALISATION DE LA 3EME CARTE LST PAGE NLS XYZ001: VAL '0@@@@ < RELEVER LE NUMERO DE PAGE COURANT DO XYZ003 < CONVERSION HEXADECIMAL-DECIMAL XYZ001: VAL XYZ001/10(0='FD00='FE00(0+XYZ001/10 XYZ001: VAL 0 DO XYZ003 XYZ001: VAL XYZ001*'10='FE01 < L'AFFICHER SUR LE LISTING < @ @@@@ PAGE NUMERO : XWOR%2: VAL '174C='F304 < ON PLACE LE NUMERO DE PAGE XWOR%2: VAL '0117='F304 < EFFACER LE NUMERO MAL PLACE LST @@ NLS @EQU $ XYZ004: VAL '5D00='F307 < ETIQUETTE DE L'ENTRY DU S/P LST @@ NLS XYZ001: VAL XYZ001 < POUR RECUPERER LE NO DE PAGE DECIMAL < QUE L'ON VA GENERER EN CARTE DYNAMIQUE @PAGE NUMERO : @@@@ XYZ001: VAL '09A9='F312 < LE PROTEGER EN 3EME CARTE DYNAMIQUE XYZ001: VAL XYZ002 < CONVERSION HEXADECIMAL-DECIMAL DO XYZ003 < DU NUMERO DE LIGNE POUR 'ED' XYZ001: VAL XYZ001/10(0='FD00='FE00(0+XYZ001/10 XYZ001: VAL 0 DO XYZ003 XYZ001: VAL XYZ001*'10='FE01 < LE PLACER DANS LA 1ERE CARTE < DYNAMIQUE AVEC L'APPEL A 'ED' ;ED @'SI DOC' ;IN@@@@;<;< XYZ002: VAL XYZ002+3 < ON L'INCREMENTE DE 3 CAR ON COMMENCE < PAR UNE CARTE VIDE XYZ001: VAL 'A927='F312 < RAMENER LE NUMERO DE PAGE DANS CETTE CART XYZ001: VAL '004F='F23B < LA COMPLETER PAR UN ';' EE < < CECI EXECUTE LA SEQUENCE SUIVANTE : <ED'SI DOC' <IN0012 PAR EXEMPLE < <PAGE NUMERO : 0004 < PAR EXEMPLE <SPLIST : SOUS-PROGRAMME DE LISTE D'UN MESSAGE <:F <:F <:F XWOR%1: VAL 0 IF ORDI-"T",XWOR%1,,XWOR%1 < ON PEUT Y ALLER.... @EQU $ < POUR GENERER LE POINT D'ENTREE XWOR%2: VAL '5D00='F307 < RECUPERATION DU NOM DU POINT < D'ENTREE. LST @@ NLS XWOR%1: VAL 0 IF XLIST-1,XWOR%2,XWOR%2, ORDI: VAL SAVORD < RESTAURATION DE 'ORDI'. XWOR%2: VAL 0 LST :F :F < <<'SIP PAGE' DF'SIP PAGE'