LEX 'CURLEX' * (c) Copyright PPC Paris 1986 ID 113 MSG 0 POLL POLHND ENDTXT SFLAG? EQU #1364C Teste le flag systÉme dont le numÅro (<0) est dans C(B) VIEWD1 EQU #15147 Affiche la zone pointÅe par D1 (22 caractÉres) HXDCW EQU #0ECB4 Conversion Hex-Dec du nombre C(W) WIPOUT EQU #1B0AF Remplissage avec 0 de la zone pointÅe par D1 CURSOR EQU #2F47E Position du curseur [0..95] FUNCR0 EQU #2F8B9 Zone scratch BUF EQU (FUNCR0)-2 pKYDF EQU #1B KeY ReDefinition Poll flUSER EQU #F7 User flag ( <0 ) kcVIEW EQU #0000B Code de la touche VIEW POLHND LC(2) pKYDF Poll KeY Definition ?B=C B GOYES POL20 Interception Åventuelle POL10 RTNSXM Retour au Basic, aucune action POL20 A=R0 R0(A)=Key Code LC(2) kcVIEW ?A#C B GOYES POL10 Retour si touche # VIEW C=D A SFLAG? abime D(A), qu'il faut impÅrativement B=C A sauver si le poll n'est pas interceptÅ LC(2) flUSER GOSBVL SFLAG? Tester le flag "User". C=B A D=C A GONC POL10 Si dÅsarmÅ, retour D1=(5) BUF Zone de 22 caractÉres È afficher C=0 A C(A)=Longueur de la zone LC(2) 44 (22 octets) GOSBVL WIPOUT È remplir avec le code 0 D1=(5) CURSOR C=0 W On ne gardera que C(B) pour l'appel È HXDCW. C=DAT1 B C(B)=position du curseur. GOSBVL HXDCW AprÉs l'appel: Mode DEC et rÅsultat dans A: * A(W)=00...095 si le curseur est en 96Éme poosition A=A+1 B Curseur devient [1..96] SETHEX Mode HEX pour conversion dÅcimal-ASCII. D1=(5) BUF LCASC '0' ASRC A: 60...09 (quartet de poids fort) ?A=0 P S'il est nul, on ne l'affiche pas (P=0 aprÉs WIPOUT) GOYES POL40 A=A+C B Conversion DEC-ASCII. DAT1=A B D1=D1+ 2 Poids faible en deuxiÉme dans BUF. A=0 B POL40 ASLC A(W)= 00.....06 A=A+C B Conversion DAT1=A B D1=(5) BUF GOSBVL VIEWD1 Affichage du buffer pointÅ par D1. XM=0 Poll interceptÅ ST=0 0 Action (et non redÅfinition). RTN END