DATE
PROG
TRN
<
<
< D E F I N I T I O N S G E N E R A L E S :
<
<
XUNDEF:: VAL -1 < POUR NE DEFINIR QUE LES 'XX...' DANS LES
< FICHIERS DE DEFINITION...
CALL #SIP DEFINITION CTTE#
<
< PREPARATION DE L'APPEL DE #SIP UTILITAIRES# :
<
XXXDEF: VAL XUNDEF
XXXLOC: VAL XUNDEF
XXXTAB: VAL XUNDEF
XXXPRO: VAL XUNDEF
CALL #SIP UTILITAIRES#
PAGE
<
<
< B A S D E L A M E M O I R E :
<
<
ZERO: EQU $
DZS PEPROG-D+Z
$EQU $-2
WORD ENTRY;NILK
<
< POINT D'ENTREE :
<
ENTRY: EQU $
LRM A,K
WORD DEBUT < POINT D'ENTREE DU PROGRAMME,
WORD STACK-DEPILE < INITIALISATION DE LA PILE.
PSR A
RSR < ON EFFECTUE AINSI UN 'GOTO' 'DEBUT'...
PAGE
<
<
< M E S S A G E S :
<
<
TABLE
NVPMT:: VAL '0B < 'NVP' D'ACCES A "MT1".
MCLOSE: ASCI "!CLOSE"
BYTE KEOT;NILK
MASIGN: ASCI "!ASSIGN "
BYTE NVPMT=FCBA(MOCD;"=";"M";"T";"1";KEOT
<
<
< C O M M O N :
<
<
COMMON
COM: EQU $
XXXLOC: VAL YYYCCI
CALL #SIP UTILITAIRES#
<
< GESTION DU DEROULEUR :
<
DEMMT1: BYTE NVPMT;XFMINI < DEMANDE DE "NON-REWIND" A L'ASSIGN...
DEMMT2: BYTE NVPMT;XFMTTM < DEMANDE D'ECRITURE D'UN "TAPE-MARK"...
PAGE
<
<
< P I L E D E T R A V A I L :
<
<
STACK: EQU $
DZS 64
PROG
PAGE
XXXPRO: VAL YYYCCI
CALL #SIP UTILITAIRES#
<
<
< P O I N T D ' E N T R E E :
<
<
DEBUT: EQU $
<
< INITIALISATION DES REGISTRES :
<
LRM C,K
WORD COM+DEPBAS < POSITIONNEMENT DE 'C',
WORD STACK-DEPILE < ET DE 'K'.
<
<
< E N T R Y D E R E B O U C L A G E :
<
<
DEBUT4: EQU $
DEBUT9: EQU $
<
< MODIFICATION A PRIORI DU 'PRESC' :
<
LRM A
WORD DEBUT5 < POUR 'XXXPRE'...
ACTD XXXPRE < ON CHANGE ALORS SYSTEMATIQUEMENT APRES
< PASSAGE ICI LE 'PRESC' DU PROGRAMME, AFIN
< DE REVENIR SUR LA VISUALISATION APRES
< CHAQUE ALT-MODE (VIA 'DEBUT5'...).
<
<
< E C R I T U R E D ' U N " T A P E - M A R K " :
<
<
LRM A
WORD MASIGN
BSR ASPCCI < CONNEXION A "MT1" SI CE N'EST DEJA FAIT..
LAD DEMMT1
SVC < DEMANDE DE "NON-REWIND"...
LAD DEMMT2
SVC < DEMANDE D'ECRITURE D'UN "TAPE-MARK"...
LRM A
WORD MCLOSE
BSR ASPCCI < ET FERMETURE...
QUIT XXQUIT < E T A T T E N T E ...
JMP DEBUT9 < VERS LE "TAPE-MARK" SUIVANT...
<
<
< E N T R Y A L T - M O D E :
<
<
DEBUT5: EQU $
QUIT XXQUIT < A T T E N T E ...
LRM C,K < ON REINITIALISE 'C' ET 'K' AU CAS
< D'UNE RE-ENTREE PAR UN 'ALT-MODE'...
WORD COM+DEPBAS < 'C',
WORD STACK-DEPILE < 'K'.
JMP DEBUT4 < ITERATION SUR ALT-MODE...
PAGE
<
<
< T A B L E D E S S Y M B O L E S :
<
<
IF '00000000000@,XEIF%,,XEIF%
EST
XEIF%: VAL ENDIF
DATE
END DEBUT
Copyright © Jean-François COLONNA, 2022-2024.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2022-2024.