LEX 'ASFLEX' * (c) Copyright PPC Paris 1986 ID #E1 MSG 0 POLL POLHND ENDTXT * pKYDF EQU #1B ASRW5 EQU #0ED0A RESERV EQU #2F986 DEFADR EQU #2F967 ATNDIS EQU #2F441 kcCALC EQU #17 FLGREG EQU #2F6E9 DSPBFS EQU #2F480 DSPBFE EQU #2F540 CURSOR EQU #2F47E SPCKEY EQU #31 MNEMF EQU 7 MODF EQU 15 COMF EQU 24 * ************************************************** * Auteur: Stephane Barizien 03/85 - Interception * de pKYDF et champs assembleur. * 1ere modification: M.MARTINET et P.DAVID 10/85 - * transformation en FIELD ON | OFF. * 2eme modification: M.MARTINET 12/85 - mise en * place de la bascule touche CALC et suppres- * sion token FIELD ON | OFF. ************************************************** * POLHND LC(2) pKYDF ?B=C B GOYES POLL10 RTNSXM POLL10 D0=(5) ATNDIS C=DAT0 S ?C=0 S GOYES rtn D0=(5) 14+FLGREG ) Est-on sous Åditeur C=DAT0 S de C=C+C S textes ? GONC rtn Non: retour. A=R0 A[A] = touche pressÅe C=0 A LC(2) =kcCALC Est-ce ?A#C B la touche CALC ? GOYES FXQ Non: exÅcution suite prgm. D0=(4) =RESERV Autrement: changement A=DAT0 P d'Åtat LC(1) 2 du flag B=A A FIELD C=C&A A " ?C=0 P GOYES Fon C=0 A GOC Fok Fon LC(1) 2 Fok C=C+B P DAT0=C P GOTO rtnxm0 et fin d'exÅcution rtn RTNSXM FXQ D0=(4) =RESERV ExÅcution du programme A=DAT0 1 Est-on en mode field on ? LC(1) 2 A=A&C P ?A=0 P GOYES rtn Non: fin de programme D0=(4) =DSPBFS Oui: continu LC(3) (=DSPBFE)-(=DSPBFS)-1 B=C X SP05 A=DAT0 B ?A=0 B GOYES SP08 LCASC ' ' ?A#C B GOYES SP06 D0=D0+ 2 B=B-1 X GONC SP05 rtn1 GOC rtn B.E.T. SP06 LCASC '*' Y a-t-il des remarques ? ?A=C B GOYES rtn Oui: fin de programme SP08 A=R0 autrement: la touche GOSBVL ASRW5 pressÅe est-elle LC(2) SPCKEY un espace ? ?A#C B si non: GOYES rtn fin de programme D0=(4) =CURSOR VÅrification A=DAT0 B position du curseur LC(2) (MNEMF)-1 en fonction ?A<=C B des GOYES SP10 diffÅrents LC(2) (MODF)-1 champs: ?A<=C B MNEMF: mnemo-field GOYES SP10 MODF : modification-field LC(2) (COMF)-1 COMF : comment-field ?A>C B GOYES rtn1 SP10 C=C-A A RedÅfinition C=C+1 A de la touche D0=(4) =DEFADR espace DAT0=C B avec D0=D0+ 2 le LCHEX 4 bon DAT0=C 1 nombre GOSUB SKPTBL de NIBASC ' ' CARCTERES BLANCS NIBASC ' ' SKPTBL C=RSTK Sortie de table D0=D0+ 1 DAT0=C A ST=1 0 ST[0]=1 => dÅfinit. touche rtnxm0 XM=0 ST[0]=0 => touche inhibee RTNCC Puis interception du Poll. END fin du Lex